%I#11 2017年7月21日02:46:45
%S 1,1,1,1,3,2,3,12,1,11,39,11,1116133,12,45449722169,459963857,
%电话:2832206
%N行读取的三角形:T(N,k)是具有亏格k的{1,2,…,N}的向下向上排列数。
%C{1,2,…,n}置换p的亏格g(p)由g(p)=(1/2)[n+1-z(p)-z(cp')]定义,其中p'是p的逆置换,C=234…n1=(1,2,..,n),z(q)表示置换q的圈数。
%C第n行中的条目之和为A000111(n)(Euler或上下数字)。
%C显然,第n行包含上限(n/2)条目。
%C T(2n,0)=T(2n+1,0)=A001003(n)(小Schroeder数)。
%C Maple程序生成第n行的条目(在程序开始处指定)。
%H S.Dulucq和R.Simion,<a href=“http://dx.doi.org/10.1023/A:1008689811936“>交替排列的组合统计</a>,J.代数组合学,81998169-191。
%e T(3,1)=1,因为312是{1,2,3}与属1的唯一向下排列(我们有p=312=(132),cp'=231*231=312=“132”,所以g(p)=(1/2)(3+1-1-1)=1)。
%e三角形开始:
%e 1;
%e 1;
%e 1,1;
%e 3,2;
%e 3、12、1;
%e 11、39、11;
%e 11、116、133、12;
%pn:=6:with(combint):descents:=proc(p)local A,i:A:={}:对于i到nops(p)-1 do if p[i+1]<p[i]then A:=`union`(A,{i})else end if end do:结束进程
%p DU:=proc(n)local DU,p,j:DU:={}:p:=置换(n):对于j到阶乘(n)do,如果下降(p[j])={seq(2*k-1,k=1..floor((1/2)*n))},那么DU:=`union`(DU,{p[j]})else end if end do:DU end proc:
%p inv:=proc(p)local j,q:对于j到nops(p)do q[p[j]]:=j结束do:[seq(q[i],i=1..nos(p))]结束proc:
%p nrcyc:=proc(p)local nrfp,pc:nrfp:=prog(p)local ct,j:ct:=0:对于j到nops(p)do,如果p[j]=j,那么ct:=ct+1 else end,如果end do;ct结束过程:
%p pc:=转换(p,disjcyc):nops(pc)+nrfp(p)结束进程:
%p b:=proc(p)局部c;c:=[seq(i+1,i=1..nops(p)-1),1]:[序列(c[p[j]],j=1..nobs(p))]结束进程:
%p gen:=proc(p)选项操作符,箭头:(1/2)*nops(p)+1/2-(1/2)*nrcyc(p)-(1/2。。nops(DU(n))):seq(系数(f[n],t,j),j=0。。天花板((1/2)*n)-1);#生成第n行的条目(在程序开始处指定)
%Y参考A000111、A001003。
%K更多,nonn,tabf
%O 1,5型
%《德国参考》,2010年5月28日
%E编辑:R.J.Mathar_,2010年6月8日
|