社区讨论
求助abc294d
灌水区参与者 9已保存回复 22
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 22 条
- 当前快照
- 1 份
- 快照标识符
- @lo2vk7zw
- 此快照首次捕获于
- 2023/10/23 20:29 2 年前
- 此快照最后确认于
- 2023/10/23 20:29 2 年前
CPP
#include<iostream>
#include<cstring>
using namespace std;
long long m[2050],p[10],ans,tot;
int r[10]={1,2,4,8,16,32,64,128,256,512};
char s[500005];
int main(){
scanf("%s",&s);
for(int i=0;i<strlen(s);i++){
p[s[i]-'0']++;
p[s[i]-'0']%=2;
if(p[s[i]-'0']==1)tot+=r[s[i]-'0'];
else tot-=r[s[i]-'0'];
ans+=m[tot];
if(p[0]==0&&p[1]==0&&p[2]==0&&p[3]==0&&p[4]==0&&p[5]==0&&p[6]==0&&p[7]==0&&p[8]==0&&p[9]==0)ans++;
m[tot]++;
}
printf("%lld",ans);
return 0;
}
超时!!!!!!!!!!!!!!!!
回复
共 22 条回复,欢迎继续交流。
正在加载回复...