灵异事件,求助
查看原帖
灵异事件,求助
136516
君と僕のNOIP楼主2021/9/9 11:10

本来只是打一下P2822,结果发现了及其离谱的东西,代码如下

#include<bits/stdc++.h>
using namespace std;
long long c[2001][2001],n,m,s[2001][2001];
long long T,k;
void prepare(){
    c[1][1]=1;
    for(int i=0;i<=2000;i++) c[i][0]=1;
    for(int i=2;i<=2000;i++){
        for(int j=1;j<=i;j++){
            c[i][j]=(c[i-1][j]+c[i-1][j-1])%k;
        }
    }
    for(int i=2;i<=2000;i++){
        for(int j=1;j<=i;j++){
            s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1];
            if(c[i][j]==0) s[i][j]+=1;
        }
        s[i][i+1]=s[i][i];
    }
}
int main(){
	scanf("%lld%lld",&T,&k);
	prepare();
	while(T--){
		scanf("%lld%lld",&n,&m);
		if(m>n)printf("%lld\n",s[n][n]);
		else printf("%lld\n",s[n][m]);
		cout<<T<<endl;
	}
	return 0;
}
2021/9/9 11:10
加载中...