社区讨论
调到比赛结束最后一秒的暴力代码
P14360[CSP-J 2025] 多边形参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mhixo6e0
- 此快照首次捕获于
- 2025/11/03 17:24 4 个月前
- 此快照最后确认于
- 2025/11/08 07:49 4 个月前
原本64分的代码因为差了4个字符变成了40分
CPP#include <iostream>
#include <algorithm>
using namespace std;
const int N=5005,mod=998244353;
typedef long long ll;
int n,a[N];
ll c[N][N];
int f=1;
ll ans;
void init(){
c[1][1]=1;
for(int i=2;i<=5003;i++){
for(int j=1;j<=5003;j++){
c[i][j]=(c[i-1][j]+c[i-1][j-1])/*%mod*/;
}
}
return;
}
void dfs(int u,int v,int cnt){
if(u==v){
if(cnt>a[v]) ans=(ans+1)%mod;
return;
}
for(int i=u+1;i<=v;i++){
dfs(i,v,cnt+a[u]);
}
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
if(a[i]!=1) f=0;
}
if(f){
init();
for(int i=3;i<=n;i++){
ans=(ans+c[n+1][i+1])%mod;
}
printf("%lld",ans);
return 0;
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
for(int j=1;j<i;j++){
dfs(j,i,0);
}
}
printf("%lld",ans);
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...