当前位置: 代码迷 >> 综合 >> 【NOIP2011模拟9.1】统计 (Standard IO)
  详细解决方案

【NOIP2011模拟9.1】统计 (Standard IO)

热度:23   发布时间:2023-10-09 12:22:32.0

Description

  对于排列(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.

  相关解决方案