LongestArithmeticProgression
The length of a longest subsequence whose entries form an arithmetic progression, of either sign.
✓ checked against that system · ! checked, with disagreements (hover a chip)FindStat
St001566via Permutation✓LongestArithmeticProgression(p)The length of a longest subsequence whose entries form an arithmetic progression, of either sign.Typed signatures
| Type | Package | Applies |
|---|---|---|
(permutation) -> number | combinatorics | always |
Details
- Defined over
Permutationas an expression in_x, evaluated by compute-engine — the definition IS the implementation. - Takes a
Permutationand 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 Permutation, over _x
Length(_x) if Length(_x) < 2 else Max(Map(Function(Max(Map(
Function(Min(Filter(
Range(1, Length(_x)),
Function(_x[i] +
t * d <
1 ||
_x[i] +
t * d >
Length(_x) ||
Sum(Map(
Function(m if _x[m] ==
_x[i] +
t * d else 0, m),
Range(1, Length(_x)),
)) <
Sum(Map(
Function(m if _x[m] ==
_x[i] +
(t - 1) *
d else 0, m),
Range(1, Length(_x)),
)), t),
)), d),
Filter(
Range(1 -
Length(_x), Length(_x) -
1),
Function(d !=
0, d),
),
)), i), Range(
1,
Length(_x),
)))Examples
Properties #
About
| Examples | 5 |
|---|---|
| Crosswalk | FindStat |