文章目录

  • 题目描述
  • 题解:
  • 代码:
  • 扩展

传送

时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format:%lld

题目描述

给定一个长度为n的整数数组,问有多少对互不重叠的非空区间,使得两个区间内的数的异或和为0。 输入描述: 第一行一个数n表示数组长度;
第二行n个整数表示数组; 1<=n<=1000,0<=数组元素<100000。

输出描述:
一行一个整数表示答案。
示例1
输入

3
0 0 0

输出

5

说明
([1,1],[2,2]),([1,1],[3,3]),([1,1],[2,3]),([1,2],[3,3]),([2,2],[3,3])

题解:

枚举?TLE√
暴力肯定过不了,我们可以先考虑只枚举一个区间[x,y],这个区间可以通过前缀异或和得到。pre来存前缀
我们用[x,y]表示右边的区间,题目要求左右区间异或和为0,也就是问[x,y]左边有多少和它值一样的区间。
我们可以用a[i]来存,a[i]表示左边异或和为i区间个数,数组a反应的数量,i反映的是值。
先将区间[k,i]存进a中,再用a[ ]来查看左边有多少区间异或和值与右区间[i+1 , j]值相同。
因为a存的是数量,所以直接用ans+=a [ pre[i] ^ [j] ]

代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e7+3;
int a[maxn];
int pre[maxn];int x;int n;
long long  ans=0;
int main()
{cin>>n;for(int i=1;i<=n;i++){cin>>x;pre[i]=pre[i-1]^x;}for(int i=1;i<=n;i++){for(int k=0;k<i;k++) a[pre[i]^pre[k]]++;//for(int j=i+1;j<=n;j++) ans += a[pre[i]^pre[j]];//}cout<<ans;return 0;
}

扩展

关于异或的题我最近做了个
CF282E Sausage Maximization
牛客网题目链接
异或的题,解法挺新颖,不过不知道为什么牛客网这里不能 提交?
原题是cf的cf题目链接
我自己写的题解

牛客网【每日一题】4月14日题目精讲 Xorto相关推荐

  1. 牛客网 每日一题 7月23日题目精讲—wpy的请求

    来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...

  2. 【每日一题】8月14日题目精讲 [SCOI2010]游戏

    来源:牛客网: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 lxhgww最近迷上了一款 ...

  3. 【每日一题】7月14日题目精讲—压缩

    来源:牛客网: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给一个由小写字母组成的字符 ...

  4. 【牛客每日一题】tokitsukaze and Soldier 题目精讲 贪心、优先队列、堆

    链接:https://ac.nowcoder.com/acm/problem/50439 来源:牛客网 ACM在线模板 今天才发现牛客推出了一个每日一题的版块,3月25号就开始了,今天才发现,赶紧补救 ...

  5. 【每日一题】8月28日题目精讲 编号

    [每日一题]8月28日题目精讲 编号 链接:https://ac.nowcoder.com/acm/problem/19925 来源:牛客网 题目描述 你需要给一批商品编号,其中每个编号都是一个7位1 ...

  6. 【每日一题】7月17日题目精讲—BOWL 碗的叠放

    [每日一题]7月17日题目精讲-BOWL 碗的叠放 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...

  7. 【每日一题】7月15日题目精讲—生日快乐

    [每日一题]7月15日题目精讲-生日快乐 [SCOI2009]生日快乐 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO For ...

  8. 【每日一题】7月13日题目精讲—Kingdom

    [每日一题]7月13日题目精讲-Kingdom 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bi ...

  9. 牛客网 【每日一题】8月5日题目精讲—蓝魔法师

    来源:牛客网: 文章目录 题目描述 题解: 代码: 题目描述 "你,你认错人了.我真的,真的不是食人魔."–蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于 ...

最新文章

  1. LeetCode 21. Merge Two Sorted Lists
  2. open(/dev/ietctl, O_RDWR) 参数含义
  3. 用姓名字段统计人数_2019年度全国各地姓名报告分析汇总(全国、深圳、佛山、杭州)...
  4. ffmpeg利用libav库把yuv视频流转换为TS串流
  5. python怎么对齐文件_说说在 python 中,如何对齐文本
  6. python实现定时任务的方式_Python实现定时执行任务的三种方式简单示例
  7. java.lang.ClassCastException(java强制类型转换异常)
  8. android里R.layout.的问题
  9. linux安装telnet组件,LINUX下如何安装telnet
  10. Java基础学习总结(95)——Java反射主要用来干什么?
  11. 堪比整容!学会这些可视化技巧,让你的图表分分钟高级起来
  12. openstack配置mysql_Centos7.4安装openstack(queens)详细安装部署(三)-镜像服务(glance)安装...
  13. 原创 VPP使用心得(十六)静态路由添加流程
  14. HTC G10官方解锁 刷机
  15. Python制作PPT周报
  16. 聚观早报 | 蔚来手机公司正式成立;苹果将取消iPad全系耳机孔
  17. [网页设计]如何在Photoshop里画虚线?
  18. 华为m2青春版刷机android6,华为揽阅M2青春版(PLE-703L)一键救砖教程,轻松刷回官方系统...
  19. Proteus电路图绘制与CubeMX生成框架下填充Keil 5代码的联调仿真
  20. InputStream 、 InputStreamReader 、 BufferedReader

热门文章

  1. 硬货 | 一片小小的薄膜,却可以粘住全世界!
  2. 想转行人工智能?哈佛博士后有话说!
  3. c语言中英文的作用,C语言中英文对照.doc
  4. html答题赚钱源码,WTS在线答题系统 v1.0.0
  5. myclipes 配置php,myclipse使用技巧
  6. xftp怎么有root权限_许多人都不懂的Linux系统里的特殊权限!!你真的了解嘛?...
  7. android中的帧动画,[Android开发] Android中的帧动画
  8. python大鱼吃小鱼_python 游戏编程 大鱼吃小鱼
  9. 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之上——原理与设计
  10. 详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务