A238123 Triangle read by rows: T(n,k) gives the number of ballot sequences of length n having k largest parts, n >= k >= 0.
1, 0, 1, 0, 1, 1, 0, 3, 0, 1, 0, 7, 2, 0, 1, 0, 20, 5, 0, 0, 1, 0, 56, 14, 5, 0, 0, 1, 0, 182, 35, 14, 0, 0, 0, 1, 0, 589, 132, 28, 14, 0, 0, 0, 1, 0, 2088, 399, 90, 42, 0, 0, 0, 0, 1, 0, 7522, 1556, 285, 90, 42, 0, 0, 0, 0, 1, 0, 28820, 5346, 1232, 165, 132, 0, 0, 0, 0, 0, 1
Offset: 0
Examples
Triangle starts: 00: 1; 01: 0, 1; 02: 0, 1, 1; 03, 0, 3, 0, 1; 04: 0, 7, 2, 0, 1; 05: 0, 20, 5, 0, 0, 1; 06: 0, 56, 14, 5, 0, 0, 1; 07: 0, 182, 35, 14, 0, 0, 0, 1; 08: 0, 589, 132, 28, 14, 0, 0, 0, 1; 09: 0, 2088, 399, 90, 42, 0, 0, 0, 0, 1; 10: 0, 7522, 1556, 285, 90, 42, 0, 0, 0, 0, 1; 11: 0, 28820, 5346, 1232, 165, 132, 0, 0, 0, 0, 0, 1; 12: 0, 113092, 21515, 4378, 737, 297, 132, 0, 0, 0, 0, 0, 1; 13: 0, 464477, 82940, 17082, 3003, 572, 429, 0, 0, 0, 0, 0, 0, 1; ... The T(6,2)=14 ballot sequences of length 6 with 2 maximal elements are (dots for zeros): 01: [ . . . . 1 1 ] 02: [ . . . 1 . 1 ] 03: [ . . . 1 1 . ] 04: [ . . 1 . . 1 ] 05: [ . . 1 . 1 . ] 06: [ . . 1 1 . . ] 07: [ . . 1 1 2 2 ] 08: [ . . 1 2 1 2 ] 09: [ . 1 . . . 1 ] 10: [ . 1 . . 1 . ] 11: [ . 1 . 1 . . ] 12: [ . 1 . 1 2 2 ] 13: [ . 1 . 2 1 2 ] 14: [ . 1 2 . 1 2 ] The T(8,4)=14 such ballot sequences of length 8 and 4 maximal elements are: 01: [ . . . . 1 1 1 1 ] 02: [ . . . 1 . 1 1 1 ] 03: [ . . . 1 1 . 1 1 ] 04: [ . . . 1 1 1 . 1 ] 05: [ . . 1 . . 1 1 1 ] 06: [ . . 1 . 1 . 1 1 ] 07: [ . . 1 . 1 1 . 1 ] 08: [ . . 1 1 . . 1 1 ] 09: [ . . 1 1 . 1 . 1 ] 10: [ . 1 . . . 1 1 1 ] 11: [ . 1 . . 1 . 1 1 ] 12: [ . 1 . . 1 1 . 1 ] 13: [ . 1 . 1 . . 1 1 ] 14: [ . 1 . 1 . 1 . 1 ] These are the (reversed) Dyck words of semi-length 4.
Links
- Joerg Arndt and Alois P. Heinz, Rows n = 0..60, flattened
- Wikipedia, Young tableau
Crossrefs
Programs
-
Maple
b:= proc(n, l) option remember; `if`(n<1, x^l[-1], b(n-1, [l[], 1]) +add(`if`(i=1 or l[i-1]>l[i], b(n-1, subsop(i=l[i]+1, l)), 0), i=1..nops(l))) end: T:= n->`if`(n=0, 1, (p->seq(coeff(p, x, i), i=0..n))(b(n-1, [1]))): seq(T(n), n=0..12); # second Maple program (counting SYT): h:= proc(l) local n; n:=nops(l); add(i, i=l)!/mul(mul(1+l[i]-j+ add(`if`(l[k]>=j, 1, 0), k=i+1..n), j=1..l[i]), i=1..n) end: g:= proc(n, i, l) `if`(n=0 or i=1, h([l[], 1$n])*x^`if`(n>0, 1, `if`(l=[], 0, l[-1])), g(n, i-1, l)+ `if`(i>n, 0, g(n-i, i, [l[], i]))) end: T:= n-> (p-> seq(coeff(p, x, i), i=0..n))(g(n, n, [])): seq(T(n), n=0..12);
-
Mathematica
b[n_, l_List] := b[n, l] = If[n<1, x^l[[-1]], b[n-1, Append[l, 1]] + Sum[If[i == 1 || l[[i-1]] > l[[i]], b[n-1, ReplacePart[l, i -> l[[i]] + 1]], 0], {i, 1, Length[l]}]]; T[n_] := If[n == 0, 1, Function[{p}, Table[Coefficient[p, x, i], {i, 0, n}]][b[n-1, {1}]]]; Table[T[n], {n, 0, 12}] // Flatten (* Jean-François Alcover, Jan 07 2015, translated from Maple *)
-
PARI
(A238123(n,k)=if(k, vecsum(apply(p->n!/Hook(Vecrev(p)), select(p->p[1]==k,partitions(n,[k,n])))), !n)); Hook(P,h=vector(P[1]),L=P[#P])={prod(i=1, L, h[i]=L-i+1)*prod(i=1,#P-1, my(D=-L+L=P[#P-i]); prod(k=0,L-1,h[L-k]+=min(k,D)+1))} \\ M. F. Hasler, Jun 03 2018
Comments