Skip to content

BounceCount ​

The number of bounce points of the bounce path, not counting the two ends.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000306via DyckPath✓
BounceCount(path)The number of bounce points of the bounce path, not counting the two ends.
Typed signatures
TypePackageApplies
(dyck_path) -> numbercombinatoricsalways

Domain: Dyck path statistics

Details
  • Defined over DyckPath as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a DyckPath 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.

Definition

Epsil, as the implementation runs it.

on DyckPath, over _x

0 if Length(_x) < 2 else Apply(
                                (ceilings: list<integer>) => Fold(
                                                                   Function([
                                                                              a[1],
                                                                              a[2],
                                                                              a[3],
                                                                            ] if a[1] ==
                                                                                Length(_x) / 2 else [
                                                                                        ceilings[a[1] + 1],
                                                                                        a[2] + 1,
                                                                                        a[3] +
                                                                                        a[2] *
                                                                                        (ceilings[a[1] + 1] -
                                                                                         a[1]),
                                                                                      ], a, b),
                                                                   [0, 0, 0],
                                                                   Range(
                                                                          1,
                                                                          Length(_x) /
                                                                          2,
                                                                        ),
                                                                 )[2],
                                Apply(
                                       (ups: list<integer>) => Map(
                                                                    Function(Sum(Map(
                                                                                      Function(2 * _x[k] -
                                                                                               1, k),
                                                                                      Range(1, ups[Length(_x) / 2 +
                                                                                                   1 -
                                                                                                   j]),
                                                                                    )) +
                                                                             (j -
                                                                              1), j),
                                                                    Range(
                                                                           1,
                                                                           Length(_x) /
                                                                           2,
                                                                         ),
                                                                  ),
                                       Filter(
                                               Range(1, Length(_x)),
                                               Function(_x[i] == 1, i),
                                             ),
                                     ),
                              ) - 1

Examples

Basic #

the step word UUDDUDUUDDUD

live ↗
InBounceCount(DyckPath⁡([1,1,0,0,1,0]))\mathrm{BounceCount}({\operatorname{DyckPath}}([1, 1, 0, 0, 1, 0]))Out11

the step word UDUUDDUDUUDD

live ↗
InBounceCount(DyckPath⁡([1,0,1,1,0,0]))\mathrm{BounceCount}({\operatorname{DyckPath}}([1, 0, 1, 1, 0, 0]))Out11
Properties #

FindStat's value for [1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0]),BounceCount)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0]), \text{BounceCount})Out00

Known value · FindStat St000306

FindStat's value for [1,0,1,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,0,1,0]),BounceCount)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 0, 1, 0]), \text{BounceCount})Out11

Known value · FindStat St000306

FindStat's value for [1,1,0,0]

live ↗
InCombinatorialStat(DyckPath⁡([1,1,0,0]),BounceCount)\mathrm{CombinatorialStat}({\operatorname{DyckPath}}([1, 1, 0, 0]), \text{BounceCount})Out00

Known value · FindStat St000306

About
Examples5
CrosswalkFindStat