牛客网【每日一题】4月14日题目精讲 Xorto
文章目录
- 题目描述
- 题解:
- 代码:
- 扩展
传送
时间限制: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相关推荐
- 牛客网 每日一题 7月23日题目精讲—wpy的请求
来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...
- 【每日一题】8月14日题目精讲 [SCOI2010]游戏
来源:牛客网: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 lxhgww最近迷上了一款 ...
- 【每日一题】7月14日题目精讲—压缩
来源:牛客网: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给一个由小写字母组成的字符 ...
- 【牛客每日一题】tokitsukaze and Soldier 题目精讲 贪心、优先队列、堆
链接:https://ac.nowcoder.com/acm/problem/50439 来源:牛客网 ACM在线模板 今天才发现牛客推出了一个每日一题的版块,3月25号就开始了,今天才发现,赶紧补救 ...
- 【每日一题】8月28日题目精讲 编号
[每日一题]8月28日题目精讲 编号 链接:https://ac.nowcoder.com/acm/problem/19925 来源:牛客网 题目描述 你需要给一批商品编号,其中每个编号都是一个7位1 ...
- 【每日一题】7月17日题目精讲—BOWL 碗的叠放
[每日一题]7月17日题目精讲-BOWL 碗的叠放 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...
- 【每日一题】7月15日题目精讲—生日快乐
[每日一题]7月15日题目精讲-生日快乐 [SCOI2009]生日快乐 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO For ...
- 【每日一题】7月13日题目精讲—Kingdom
[每日一题]7月13日题目精讲-Kingdom 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bi ...
- 牛客网 【每日一题】8月5日题目精讲—蓝魔法师
来源:牛客网: 文章目录 题目描述 题解: 代码: 题目描述 "你,你认错人了.我真的,真的不是食人魔."–蓝魔法师 给出一棵树,求有多少种删边方案,使得删后的图每个连通块大小小于 ...
最新文章
- LeetCode 21. Merge Two Sorted Lists
- open(/dev/ietctl, O_RDWR) 参数含义
- 用姓名字段统计人数_2019年度全国各地姓名报告分析汇总(全国、深圳、佛山、杭州)...
- ffmpeg利用libav库把yuv视频流转换为TS串流
- python怎么对齐文件_说说在 python 中,如何对齐文本
- python实现定时任务的方式_Python实现定时执行任务的三种方式简单示例
- java.lang.ClassCastException(java强制类型转换异常)
- android里R.layout.的问题
- linux安装telnet组件,LINUX下如何安装telnet
- Java基础学习总结(95)——Java反射主要用来干什么?
- 堪比整容!学会这些可视化技巧,让你的图表分分钟高级起来
- openstack配置mysql_Centos7.4安装openstack(queens)详细安装部署(三)-镜像服务(glance)安装...
- 原创 VPP使用心得(十六)静态路由添加流程
- HTC G10官方解锁 刷机
- Python制作PPT周报
- 聚观早报 | 蔚来手机公司正式成立;苹果将取消iPad全系耳机孔
- [网页设计]如何在Photoshop里画虚线?
- 华为m2青春版刷机android6,华为揽阅M2青春版(PLE-703L)一键救砖教程,轻松刷回官方系统...
- Proteus电路图绘制与CubeMX生成框架下填充Keil 5代码的联调仿真
- InputStream 、 InputStreamReader 、 BufferedReader
热门文章
- 硬货 | 一片小小的薄膜,却可以粘住全世界!
- 想转行人工智能?哈佛博士后有话说!
- c语言中英文的作用,C语言中英文对照.doc
- html答题赚钱源码,WTS在线答题系统 v1.0.0
- myclipes 配置php,myclipse使用技巧
- xftp怎么有root权限_许多人都不懂的Linux系统里的特殊权限!!你真的了解嘛?...
- android中的帧动画,[Android开发] Android中的帧动画
- python大鱼吃小鱼_python 游戏编程 大鱼吃小鱼
- 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之上——原理与设计
- 详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务