%I #20 Jan 02 2023 12:30:54
%S 1,1,1,2,6,44,524,12744,654472
%N Number of trees of height n obtained from those of height n-1 by attaching new nodes to the leaf n as to achieve a total degree of n, using all of its remaining free "bonds" in any possible way.
%C The nodes can be connected by one or more bonds (= edges). Each new leaf gets labeled with the least positive integer not already used in the tree, and this number is also the total number of "bonds" (maximum degree) of the node.
%H Ali Sada, M. F. Hasler, <a href="http://list.seqfan.eu/oldermail/seqfan/2020-May/020740.html">Help with a tree sequence</a>, posts to the SeqFan list, May 2020.
%e There is only one tree of height 0, consisting of the leaf 1 which has 1 free bond, so a(0) = 1.
%e Then there's only one possible tree of height 1, obtained by attaching the new leaf 2 to leaf 1, using its only free bond. So a(1) = 1.
%e One bond being used to attach it to its parent (1), the leaf 2 has only one free bond left. Therefore there's only one possible tree of height 2, obtained by attaching the new leaf 3 to leaf 2, using its only free bond. So a(2) = 1.
%e Then we can use the two remaining free bonds of 3 in two ways: Either to attach one new leaf (4) with both of the remaining free bonds of 3, or attach two new leaves (4 and 5) with one bond each to their parent 3:
%e 1-2-3=4: or 1-2-3-4:. so a(3) = 2.
%e \ (Dots indicate the number
%e 5:: of remaining free bonds.)
%e And so on.
%o (PARI) upto(N)={ my(a=[1,1], L=[[1]], extend(T,M)=my(L=List(), m=T[1]); M+=#T; T=T[^1]; for(N=1, m, forvec(v=vector(N+1,i,[i>N,i>1]*m), listput(L, concat(T,vector(N,i, M+i-v[i+1]+v[i] ))),2)); Vec(L)); for(n=1,N-1, L=concat([extend(T,n) | T<-L]); a=concat(a,#L)); a} \\ see link to the SeqFan post for a commented version
%K nonn,more
%O 0,4
%A _Ali Sada_ and _M. F. Hasler_, May 22 2020
%E a(8) from _Jinyuan Wang_, May 26 2020