对于排列(P1,P2,...,PN),定义(i,j)为逆序对当且仅当i < j且Pi > Pj。统计{1,2,...,N}的所有排列中,逆序对数量为M的排列数量。
题解
枚举前五个我们可以推出递推式:
f[i,j]=f[i-1,j]+f[i,j-1]+f[i-1,j-i]
代码:
varn,m,i,j:longint;a:array[0..1000,0..1000] of longint;
beginreadln(n,m);a[1,1]:=1;for i:=2 to n dofor j:=1 to m+1 doif j<=i then a[i,j]:=(a[i-1,j]+a[i,j-1]) mod 124567else a[i,j]:=(a[i-1,j]+a[i,j-1]-a[i-1,j-i]+124567) mod 124567;writeln(a[n,m+1]);
end.varn,m,i,j:longint;a:array[0..1000,0..1000] of longint;
beginreadln(n,m);a[1,1]:=1;for i:=2 to n dofor j:=1 to m+1 doif j<=i then a[i,j]:=(a[i-1,j]+a[i,j-1]) mod 124567else a[i,j]:=(a[i-1,j]+a[i,j-1]-a[i-1,j-i]+124567) mod 124567;writeln(a[n,m+1]);
end.