社区讨论

论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 条回复,欢迎继续交流。

正在加载回复...