%I #23 May 15 2021 06:16:50
%S 1,1,2,5,10,23,51,111,243,530,1156,2497,5421,11662,25179,53991,116035,
%T 248025,531045,1131943,2415495,5135914,10927905,23182313,49199819,
%U 104154950,220543471,465997148,984704560,2076988713,4380764650,9225209928,19424814305
%N 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.
%H Alois P. Heinz, <a href="/A293741/b293741.txt">Table of n, a(n) for n = 0..1000</a>
%F G.f.: Product_{j>=1} (1+x^j)^A001405(j).
%p b:= proc(n, i) option remember; `if`(n=0, 1, `if`(i<1, 0, add(
%p b(n-i*j, i-1)*binomial(binomial(i, floor(i/2)), j), j=0..n/i)))
%p end:
%p a:= n-> b(n$2):
%p seq(a(n), n=0..35);
%t 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}]]];
%t a[n_] := b[n, n];
%t Table[a[n], {n, 0, 35}] (* _Jean-François Alcover_, May 29 2019, after _Alois P. Heinz_ *)
%o (Python)
%o from sympy.core.cache import cacheit
%o from sympy import binomial
%o @cacheit
%o 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)])
%o def a(n): return b(n, n)
%o print([a(n) for n in range(36)]) # _Indranil Ghosh_, Oct 15 2017
%Y Column k=2 of A293112.
%Y Cf. A001405.
%K nonn
%O 0,3
%A _Alois P. Heinz_, Oct 15 2017
|