A293741 Number of sets of nonempty words with a total of n letters over binary alphabet such that within each prefix of a word every letter of the alphabet is at least as frequent as the subsequent alphabet letter.
1, 1, 2, 5, 10, 23, 51, 111, 243, 530, 1156, 2497, 5421, 11662, 25179, 53991, 116035, 248025, 531045, 1131943, 2415495, 5135914, 10927905, 23182313, 49199819, 104154950, 220543471, 465997148, 984704560, 2076988713, 4380764650, 9225209928, 19424814305
Offset: 0
Keywords
Links
- Alois P. Heinz, Table of n, a(n) for n = 0..1000
Programs
-
Maple
b:= proc(n, i) option remember; `if`(n=0, 1, `if`(i<1, 0, add( b(n-i*j, i-1)*binomial(binomial(i, floor(i/2)), j), j=0..n/i))) end: a:= n-> b(n$2): seq(a(n), n=0..35);
-
Mathematica
b[n_, i_] := b[n, i] = If[n == 0, 1, If[i < 1, 0, Sum[b[n - i*j, i - 1]* Binomial[Binomial[i, Floor[i/2]], j], {j, 0, n/i}]]]; a[n_] := b[n, n]; Table[a[n], {n, 0, 35}] (* Jean-François Alcover, May 29 2019, after Alois P. Heinz *)
-
Python
from sympy.core.cache import cacheit from sympy import binomial @cacheit def b(n, i): return 1 if n==0 else 0 if i<1 else sum([b(n - i*j, i - 1)*binomial(binomial(i, i//2), 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
Formula
G.f.: Product_{j>=1} (1+x^j)^A001405(j).