题意:给出n个数,求它的连续子序列中,满足下列公式,(l,r)的对数有多少对

Al xor Al+1 xor … xor Ar=Al + Al+1 + … + Ar

思路:由题意可以得到,连续子序列,如果在ai这个数不符合公式的话,即之后的符合条件的对数中将不在需要这个元素,所有枚举元素来计算符合公式的对数 。

难以理解的就是异或等效于加法与减法(!!!)

 #include <bits/stdc++.h>
using namespace std;
#define ll long long
#define N 200005 ll he[N],yi[N]; int main()
{
ll n,i,x,l,r,ans; while (scanf("%lld",&n)!=EOF)
{
for (i=;i<=n;i++)
{
scanf("%lld",&x);
he[i]=he[i-]+x;//计算加法前缀和
yi[i]=yi[i-]^x;//计算异或前缀和
} l=;//左端点
ans=; for (r=;r<=n;r++)//以第r个数为结尾进行遍历
{
for (;he[r]-he[l-]!=(yi[r]^yi[l-]);l++); //b到c的异或和=a到c的异或和 异或 a到b的异或和(可以证明)
ans+=r-l+;//l到r的串中共有长度个情况(1个数组成,2个数组成。。。)
} printf("%lld\n",ans);
return ;
} return ;
}

AtCoder Regular Contest 098 D - Xor Sum 2 区间异或=相加 DP思想的更多相关文章

  1. AtCoder Beginner Contest 098 D - Xor Sum 2

    D - Xor Sum 2 Time limit : 2sec / Memory limit : 1024MB Score : 500 points Problem Statement There i ...

  2. AtCoder Regular Contest 098

    AtCoder Regular Contest 098 C - Attention 题意 给定一个只包含"E","W"字符串,可以花一的花费使他们互相转换.选定 ...

  3. AtCoder Regular Contest 098 F.Donation

    传送门 首先,对于一个点i,进入这个点前必须大于等于Ai,每个点必须捐赠Bi 那么我们可以在每个点最后一次经过的时候再捐赠,这样显然更优 现在我们假设每个点都是最后一次经过的时候捐赠.现在我们把捐赠的 ...

  4. AtCoder Regular Contest 094

    AtCoder Regular Contest 094 C - Same Integers 题意: 给定\(a,b,c\)三个数,可以进行两个操作:1.把一个数+2:2.把任意两个数+1.求最少需要几 ...

  5. AtCoder Regular Contest 096

    AtCoder Regular Contest 096 C - Many Medians 题意: 有A,B两种匹萨和三种购买方案,买一个A,买一个B,买半个A和半个B,花费分别为a,b,c. 求买X个 ...

  6. AtCoder Regular Contest 097

    AtCoder Regular Contest 097 C - K-th Substring 题意: 求一个长度小于等于5000的字符串的第K小子串,相同子串算一个. K<=5. 分析: 一眼看 ...

  7. AtCoder Regular Contest 099

    AtCoder Regular Contest 099 C - Minimization 题意 题意:给出一个n的排列.每次操作可以使一段长度为K的连续子序列变成该序列的最小数.求最少几次使得整个数列 ...

  8. AtCoder Regular Contest 061

    AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有 ...

  9. AtCoder Regular Contest 094 (ARC094) CDE题解

    原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$ ...

随机推荐

  1. windows10下运行XX-net

    现在墙高了,原来配置的ip4没法用了,所以重新配置一下XX-NET,这篇博客的内容参考了末尾的网站,如果我的办法行不通可以去这个网站查看其他方法 下载XX-NET 打开https://github.c ...

  2. Sql去重一些技巧

    下午的时候遇到点问题,Sql去重,简单的去重可以用 DISTINCT 关键字去重,不过,很多情况下用这个解决不了问题.重复的数据千变万化,例如:类似于qq.微信的最近联系人功能,读取这些数据肯定要和消 ...

  3. POJ-2429 GCD & LCM Inverse---给出gcd和lcm求原来两个数

    题目链接: https://cn.vjudge.net/problem/POJ-2429 题目大意: 给出两个数的gcd和lcm,求原来的这两个数(限定两数之和最小). 解题思路: 首先,知道gcd和 ...

  4. .Net Core SignalR 初体验

    前言 Asp.Net SignalR已经出来很久了,但是一直没有静下心来好好看看.昨天花了几个小时的时间看了下.首先借鉴了官方文档,如何搭建一个SignalR的Demo. 参考文章:https://d ...

  5. [转]C#如何获取客户端IP地址

    代码如下: /// <summary> /// 获取客户端IP地址    /// </summary> /// <returns></returns> ...

  6. HDU 1014 Uniform Generator(模拟和公式)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1014 Uniform Generator Time Limit: 2000/1000 MS (Java ...

  7. IP Addressing

    IP Addressing(处理) Each host on Internet has unique 32 bit IP address Each address has two parts: net ...

  8. Mark一下在模仿团购App搭建页面时犯的低级错误

    1.关于Xib拖线错误 2.下面这个错误的根源其实是代码提示时直接敲下了回车,没看仔细,导致后来找了好久才发现该错误,郁闷啊!

  9. 第25章 串行FLASH文件系统FatFs

    25.1  文件系统 即使读者可能不了解文件系统,读者也一定对“文件”这个概念十分熟悉.数据在PC上是以文件的形式储存在磁盘中的,这些数据的形式一般为ASCII码或二进制形式.在上一章我们已经写好了Q ...

  10. centos安装hadoop(伪分布式)

    在本机上装的CentOS 5.5 虚拟机, 软件准备:jdk 1.6 U26 hadoop:hadoop-0.20.203.tar.gz ssh检查配置 [root@localhost ~]# ssh ...