acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 资讯
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 给

    链接描述

    userId_undefined
    wracs ioahzsg 互关
    出道萌新倔强青铜
    162阅读
    6回复
    19点赞
  • nfine_2025C.NecoT

    userId_undefined
    wracs ioahzsg 互关
    出道萌新倔强青铜
    56阅读
    3回复
    12点赞
  • AC

    #include<bits/stdc++.h> #define maxn 50010 using namespace std; template<typename T> inline void read(T &x) { x=0;char c=getchar();bool flag=false; while(!isdigit(c)){if(c=='-')flag=true;c=getchar();} while(isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();} if(flag)x=-x; } int n,k,p,m; int f[maxn],g[maxn]; int main() { read(n),read(k),read(p),m=n*(n-1)/2,f[0]=1; for(int i=1;i<=n;++i) { for(int j=m;j>=i;--j) f[j]=(f[j]-f[j-i]+p)%p; for(int j=1;j<=m;++j) f[j]=(f[j]+f[j-1])%p; } for(int i=1;i<=n;++i) g[i]=f[k]; for(int i=2;i<=n;++i) { for(int j=m;j;--j) f[j]=(f[j]-f[j-1]+p)%p; for(int j=i;j<=m;++j) f[j]=(f[j]+f[j-i])%p; for(int j=1;j+i-1<=n;++j) { if(k-i+1>=0) g[j]=(g[j]+f[k-i+1])%p; g[j+i-1]=(g[j+i-1]+f[k])%p; } for(int j=m;j>=i;--j) f[j]=(f[j]-f[j-i]+p)%p; for(int j=1;j<=m;++j) f[j]=(f[j]+f[j-1])%p; } for(int i=1;i<=n;++i) cout<<g[i]<<' '; return 0; }

    userId_undefined
    少年
    空间掌握者时空双修者秩序白银维度操控者贪心·贪心尝试者I/O·IO入门者
    18阅读
    0回复
    2点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页