社区讨论
论Luogu IDE
P4492[HAOI2018] 苹果树参与者 4已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mi867af0
- 此快照首次捕获于
- 2025/11/21 09:17 4 个月前
- 此快照最后确认于
- 2025/11/21 09:17 4 个月前
以下是我爆零代码:
CPP#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[2005],a[2005],s[2005],C[2005][2005],n,p,i,j;
int main()
{
cin>>n>>p;
a[0]=1;
for(i=1;i<=n;i++)
a[i]=a[i-1]*i%p;
for(i=0;i<=n;i++)
{
C[i][0]=C[i][i]=1;
for(j=0;j<i;j++)
C[i][j]=(C[i-1][j]+C[i-1][j-1])%p;
}
for(i=1;i<=n;i++)
{
s[i]=a[i]*i%p;
for(j=0;j<i;j++)
{
f[i]=(f[i]+(f[j]*a[i-j-1]%p+f[i-j-1]*a[j]%p+s[j]*(i-j)%p*a[i-j-1]%p+s[i-j-1]*(j+1)%p*a[j]+(j+1)*(i-j)%p*a[j]%p*a[i-j-1])%p*C[i-1][j])%p;
s[i]=(s[i]+(s[j]*a[i-j-1]+s[i-j-1]*a[j])%p*C[i-1][j])%p;
}
}
cout<<((f[n]-(n*(n+1)/2)*a[n]%p)%p+p)%p;
}
这个代码由于算组合数的时候数组越界在本地会WA掉,然在Luogu IDE上神奇地过了样例
这算不算个bug
回复
共 3 条回复,欢迎继续交流。
正在加载回复...