求助abc294d
  • 板块灌水区
  • 楼主Butterfly___qwq
  • 当前回复22
  • 已保存回复22
  • 发布时间2023/3/25 21:48
  • 上次更新2023/10/23 20:29:26
查看原帖
求助abc294d
529458
Butterfly___qwq楼主2023/3/25 21:48
#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;
}

超时!!!!!!!!!!!!!!!!

2023/3/25 21:48
加载中...