Skip to content

RecursiveEndMaximumCount ​

FindStat's rix: the number of times, peeling the word, the maximum of what is left is its last entry.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000461via Permutation✓
RecursiveEndMaximumCount(p)FindStat's rix: the number of times, peeling the word, the maximum of what is left is its last entry.
Typed signatures
TypePackageApplies
(permutation) -> numbercombinatoricsalways

Domain: Permutation statistics

Details
  • Defined over Permutation as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a Permutation and nothing else — it reads values against their positions, or walks the orbits, so it needs the bijection. Applying it to a bare list is a type error, not a wrong answer.
  • Recursively: the maximum last counts one and the rest is the word without it; the maximum first ends the walk; otherwise the walk goes on with the entries after the maximum (St000461).

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

0 if Length(_x) < 1 else Fold(Function(a if a[1] > a[2] else Apply(
                                                                    (top: integer) => Apply(
                                                                                             (peak: integer) => [a[1], a[2] - 1, a[3] + 1] if peak == a[2] else [1, 0, a[3]] if peak == a[1] else [peak + 1, a[2], a[3]],
                                                                                             Max(Sum(Map(
                                                                                                          Function(j if _x[j] == top else 0, j),
                                                                                                          Range(a[1], a[2], 1),
                                                                                                        )), 0),
                                                                                           ),
                                                                    Max(Map(
                                                                             Function(_x[j], j),
                                                                             Range(a[1], a[2], 1),
                                                                           )),
                                                                  ), a, b), [
                                                                             1,
                                                                             Length(_x),
                                                                             0,
                                                                           ], Range(1, Length(_x)))[3]

Examples

Basic #

the one-line word 312312

live ↗
InRecursiveEndMaximumCount(Permutation⁡([3,1,2]))\mathrm{RecursiveEndMaximumCount}({\operatorname{Permutation}}([3, 1, 2]))Out00

the one-line word 24132413

live ↗
InRecursiveEndMaximumCount(Permutation⁡([2,4,1,3]))\mathrm{RecursiveEndMaximumCount}({\operatorname{Permutation}}([2, 4, 1, 3]))Out22
Properties #

FindStat's value for [1,2]

live ↗
InCombinatorialStat(Permutation⁡([1,2]),RecursiveEndMaximumCount)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1, 2]), \text{RecursiveEndMaximumCount})Out22

Known value · FindStat St000461

FindStat's value for [2,1]

live ↗
InCombinatorialStat(Permutation⁡([2,1]),RecursiveEndMaximumCount)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([2, 1]), \text{RecursiveEndMaximumCount})Out00

Known value · FindStat St000461

FindStat's value for [1,2,3]

live ↗
InCombinatorialStat(Permutation⁡([1,2,3]),RecursiveEndMaximumCount)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1, 2, 3]), \text{RecursiveEndMaximumCount})Out33

Known value · FindStat St000461

About
Examples5
CrosswalkFindStat