博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #539 (Div. 2) C. Sasha and a Bit of Relax
阅读量:4633 次
发布时间:2019-06-09

本文共 705 字,大约阅读时间需要 2 分钟。

链接:

题意:长度为n的序列 ,若l,r满足,则称这对l,r为funny,其中mid=(r-l+)/2

求出共有几对funny

思路:上式等价为al^al+^......ar-1^ar=0,可利用前缀和的思想进行求解,用a数组保存a0连续异或到ai的值,上式即等价于al=ar

由于题目只要考虑r-l+1为偶数的情况,易得r,l同奇偶,用二维数组b记录

代码:

1 #include
2 #define inf 0x3f3f3f3f 3 typedef long long ll; 4 const int M = int(1e5)*3 + 5; 5 using namespace std; 6 ll a[M],b[2][(1<<20)+3]; 7 int main() 8 { 9 int n; cin >> n;10 ll ans = 0;11 b[0][0] = 1;12 for (int i = 1; i <= n; i++)13 {14 int x;15 cin >> x;16 a[i] = a[i - 1] ^ x;17 ans += b[i % 2][a[i]];18 b[i % 2][a[i]]++;19 }20 cout << ans << endl;21 return 0;22 }

备注:

转载于:https://www.cnblogs.com/harutomimori/p/10410055.html

你可能感兴趣的文章
16个时髦的扁平化设计的 HTML5 & CSS3 网站模板
查看>>
could not instantiate class [com.jinqing.cashier.entity.abstractVO.TradeItemVO] from tuple
查看>>
Java_JVM参数-XX:MaxDirectMemorySize 与 两种 ByteBuffer: heap,direct ByteBuffer
查看>>
【转载】HBase Region重点剖析
查看>>
Linux系统添加路由条目信息
查看>>
Php—AJAX跨域问题
查看>>
谈到电影,我们收获了什么
查看>>
设置CentOS开机连接网络 Centos 开机启动网卡的设置方法
查看>>
1.12Linux下软件安装(学习过程)
查看>>
七:初探异步编程
查看>>
Shell编程之if语句实战(详解)
查看>>
OAuth 2.0 学习
查看>>
PHP 常用的header头部定义汇总
查看>>
测试虚线
查看>>
Codeforces Round #296 (Div. 2) B. Error Correct System
查看>>
python之列表生成式
查看>>
小程序开发 自定义转发
查看>>
【找回数学的感觉】1 再版汉诺塔等
查看>>
3. Longest Substring Without Repeating Characters
查看>>
我的一亩三分地
查看>>