login
A293742
Number of sets of nonempty words with a total of n letters over ternary alphabet such that within each prefix of a word every letter of the alphabet is at least as frequent as the subsequent alphabet letter.
4
1, 1, 2, 6, 14, 39, 104, 284, 775, 2145, 5941, 16563, 46329, 130100, 366432, 1035191, 2931797, 8323290, 23680142, 67505721, 192791938, 551537506, 1580315319, 4534715008, 13030197881, 37489497472, 107991978290, 311433926717, 899093131819, 2598257241179
OFFSET
0,3
LINKS
FORMULA
G.f.: Product_{j>=1} (1+x^j)^A001006(j).
MAPLE
g:= proc(n) option remember; `if`(n<2, 1,
g(n-1)+add(g(k)*g(n-k-2), k=0..n-2))
end:
b:= proc(n, i) option remember; `if`(n=0, 1, `if`(i<1, 0,
add(b(n-i*j, i-1)*binomial(g(i), j), j=0..n/i)))
end:
a:= n-> b(n$2):
seq(a(n), n=0..35);
MATHEMATICA
With[{n = 29}, CoefficientList[Series[Product[(1 + x^j)^Hypergeometric2F1[(1 - j)/2, -j/2, 2, 4], {j, n}], {x, 0, n}], x]] (* Michael De Vlieger, Oct 15 2017, after Peter Luschny at A001006 *)
PROG
(Python)
from sympy.core.cache import cacheit
from sympy import binomial
@cacheit
def g(n): return 1 if n<2 else g(n - 1) + sum(g(k)*g(n - k - 2) for k in range(n - 1))
@cacheit
def b(n, i): return 1 if n==0 else 0 if i<1 else sum(b(n - i*j, i - 1)*binomial(g(i), j) for j in range(n//i + 1))
def a(n): return b(n, n)
print([a(n) for n in range(36)]) # Indranil Ghosh, Oct 15 2017
CROSSREFS
Column k=3 of A293112.
Cf. A001006.
Sequence in context: A263734 A263735 A263731 * A299119 A348010 A271895
KEYWORD
nonn
AUTHOR
Alois P. Heinz, Oct 15 2017
STATUS
approved