P1521 求逆序对
设f[i][j]为前i个数字(即1-i)构成逆序对数为j的方案总数
#include<bits/stdc++.h>
using namespace std;
int N,K;
int f[5000][5000];
int main()
{
cin>>N>>K;
f[1][0]=1;
f[2][1]=1;
f[2][0]=1;
f[0][0]=1;
for (int i=3;i<=N;i++)
for (int j=0;j<=K;j++)
for (int k=0;k<=i-1&&j-k>=0;k++)
f[i][j]=(f[i-1][j-k]+f[i][j])%10000;//记得取模
cout<<f[N][K]<<endl;
return 0;
}