Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
35873 baka24 2021北京队选拔模拟赛0-B C++ 运行超时 70 1000 MS 1584 KB 873 2025-01-07 19:03:30

Tests(7/10):


#include<bits/stdc++.h> using namespace std; #define int unsigned int int read(){int x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar();return x*f;} const int MAXN=100010; int n,m,a[MAXN],f[MAXN],g[MAXN],as[MAXN]; char c[MAXN]; void slv(){ c[++n]=getchar(); while(c[n]=='0'||c[n]=='1')c[++n]=getchar(); n--; for(int i=1;i<=n;i++)if(c[i]=='1')a[++m]=i; g[0]=f[0]=1; for(int i=1;i<=n;i++){ for(int k=1;k<=m&&a[k]<=i;k++)f[i]+=g[i-a[k]]; for(int j=0;j<=i-j;j++){ int L=f[j],R=f[i-j]; if(j!=i-j)g[i]+=L*R; else g[i]+=L*(R+1)>>1; } } for(int i=1;i<=n;i++)printf("%d",f[i]&1); } signed main(){ // freopen("modtwo.in","r",stdin);freopen("modtwo.out","w",stdout); slv(); return 0; }


测评信息: