一、题目描述:
给你一个由数字
二、做题思路:
Atcoder 不会卡你的时间,所以这题应该是
用二进制表示从
如果两个位置的状态相同,则说明他们之间的字串是满足条件的,统计答案即可。时间复杂度
三、完整代码:
1 #include<iostream> 2 #define ll long long 3 using namespace std; 4 string s; 5 ll n,ans,sum[500010],num[1<<10]; 6 int main() 7 { 8 cin>>s; 9 num[0]=1; 10 n=s.length(); 11 for(ll i=0;i<n;i++) 12 { 13 sum[i+1]=sum[i]^(1<<s[i]-'0'); 14 ans+=num[sum[i+1]]; 15 num[sum[i+1]]++; 16 } 17 cout<<ans<<'\n'; 18 return 0; 19 }
四、写题心得:
其实没什么心得,比赛的时候一直想不出来 ( 我一个同学 5 分钟就切掉了 ) 。好烦啊,不过幸好没掉分qwq。所以还是加油吧!拜拜!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】