检验过的
经核准的
提出
编辑
b[n_,m_,t_]:=b[n,m,t]=如果[n==0,{1,0},Sum[If[t==1&j!=m+1,0,函数[p,p+如果[j==-t||t==1&j==m+1、{0,p[[1]]},0]][b[n-1,Max[m,j],如果[t=1&j=m+1时,-j,如果[t<0,t,If[t>0,t-1,0]]]],{j,1,m+1}]];
T[n_,k_]:=b[n,0,最大值[0,1+n-k]][2];
表[表[T[n,k],{k,1,n}],{n,1,12}]//扁平(*Jean-François Alcover公司2016年4月24日,译自枫叶*)
排n个=3是[2,4,9]=[0+0+0+1+1,0+2+1+0+1,3+1+2+2+1],因为{1,2,3}的集合分区是:123,12|3,13|2,1|23,1|2|3。
第3行是[2,4,9]=[0+0+0+1+1,0+2+1+0+1,3+1+2+2+1],因为{1,2,3}的集合分区是:123,12|3,13|2,1|23,1|2|3。
b: =proc(n,m,t)选项记忆`如果`(n=0,[1,0],则添加(
`如果`(t=1且j<>m+1,0,(p->p+`如果`(j=-t或t=1并且j=m+1,
[0,p[1],0))(b(n-1,最大值(m,j),`if`(t=1且j=m+1,-j,
`如果`(t<0,t,`if`(t>0,t-1,0))),j=1..m+1))
结束时间:
T: =(n,k)->b(n,0,最大值(0,1+n-k))[2]:
seq(seq(T(n,k),k=1..n),n=1..12);