A226873 Number A(n,k) of n-length words w over a k-ary alphabet {a1,a2,...,ak} such that #(w,a1) >= #(w,a2) >= ... >= #(w,ak) >= 0, where #(w,x) counts the letters x in word w; square array A(n,k), n>=0, k>=0, read by antidiagonals.
1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 3, 1, 0, 1, 1, 3, 4, 1, 0, 1, 1, 3, 10, 11, 1, 0, 1, 1, 3, 10, 23, 16, 1, 0, 1, 1, 3, 10, 47, 66, 42, 1, 0, 1, 1, 3, 10, 47, 126, 222, 64, 1, 0, 1, 1, 3, 10, 47, 246, 522, 561, 163, 1, 0, 1, 1, 3, 10, 47, 246, 882, 1821, 1647, 256, 1, 0
Offset: 0
Examples
A(4,3) = 23: aaaa, aaab, aaba, aabb, aabc, aacb, abaa, abab, abac, abba, abca, acab, acba, baaa, baab, baac, baba, baca, bbaa, bcaa, caab, caba, cbaa. Square array A(n,k) begins: 1, 1, 1, 1, 1, 1, 1, 1, ... 0, 1, 1, 1, 1, 1, 1, 1, ... 0, 1, 3, 3, 3, 3, 3, 3, ... 0, 1, 4, 10, 10, 10, 10, 10, ... 0, 1, 11, 23, 47, 47, 47, 47, ... 0, 1, 16, 66, 126, 246, 246, 246, ... 0, 1, 42, 222, 522, 882, 1602, 1602, ... 0, 1, 64, 561, 1821, 3921, 6441, 11481, ...
Links
- Alois P. Heinz, Antidiagonals n = 0..140, flattened
Crossrefs
Programs
-
Maple
b:= proc(n, i, t) option remember; `if`(t=1, 1/n!, add(b(n-j, j, t-1)/j!, j=i..n/t)) end: A:= (n, k)-> `if`(k=0, `if`(n=0, 1, 0), n!*b(n, 0, k)): seq(seq(A(n, d-n), n=0..d), d=0..14);
-
Mathematica
b[n_, i_, t_] := b[n, i, t] = If[t == 1, 1/n!, Sum[b[n-j, j, t-1]/j!, {j, i, n/t}]]; a[n_, k_] := If[k == 0, If[n == 0, 1, 0], n!*b[n, 0, k]]; Table[Table[a[n, d-n], {n, 0, d}], {d, 0, 14}] // Flatten (* Jean-François Alcover, Dec 13 2013, translated from Maple *)
Formula
A(n,k) = Sum_{i=0..min(n,k)} A226874(n,i).