【GZOJ】1314——异或最大值
来源:互联网 发布:日本烘焙大师 知乎 编辑:程序博客网 时间:2024/05/22 17:55
题目链接:广大OJ1314
本题亦为广大15级第一次周赛的G题。
题目内容
Problem Description
小布除了经常能在野外遇到不明生物外还非常喜欢由非负数组成的数组, 有一天他的获得了一个由n个非负数组成的数组
而小布想在数组中找到一段连续的数字,使得这段数字异或起来的值是最大的
例如这个数组是 1, 2, 5, 7, 8
那么 (2,5,7) 是一段连续的数字, 这段数字异或起来的值为 2 ^ 5 ^ 7 = 0
(1, 2) 也是一段连续的数字,这段数字异或起来的值为 1 ^ 2 = 3
其中异或起来最大的连续数字段为 (7,8) 值为 7 ^ 8 = 15
Input
输入数据第一行是一个整数 T, 接下来有 T个例子
每个例子第一行是一个整数 n, 接下来是n个小于等于1000的非负整数 ( 1 <= n <= 100)
Output
对于每个例子输出 异或起来的值最大的 那个连续的数字段 异或起来的值
Sample Input
3
1
1
2
2 3
5
1 2 5 7 8
Sample Output
1
3
15
解题思路
首先,请相信计算机的性能。
最多100个数,完全可以暴力解决。
把所有的情况列出来,选出最大的即可。
代码
#include<iostream>using namespace std;int main(){ int t; cin>>t; while(t--) { int n; cin>>n; int a[1001],max=0; for(int i=0;i<n;i++)cin>>a[i]; for(int i=1;i<=n;i++) { for(int j=0;j+i<=n;j++) { int p; for(int k=j,kk=0;kk<i;k++,kk++) { if(kk==0)p=a[k]; else p^=a[k]; } if(max<p)max=p; } } cout<<max<<endl; }}
0 0
- 【GZOJ】1314——异或最大值
- 【GZOJ】1372——阶乘
- 【GZOJ】1367——A*B问题
- 【GZOJ】1368——爱迪生的烦恼
- 【GZOJ】1371——杨辉三角
- 【GZOJ】1374——口袋妖怪对战
- 【GZOJ】1308——开灯关灯
- CSU 1216 —— 异或最大值
- 【GZOJ】1369——小明跳楼梯
- 【GZOJ】1370——名为F的数列
- 【GZOJ】1373——凹酱的行程
- 异或最大值
- CSU_1216【异或最大值】
- CSU 1216 异或最大值
- COJ 1216 异或最大值
- CSU_1216(异或最大值)
- COJ-1216 异或最大值
- csu-1216: 异或最大值
- JAVA基础课总结九
- 怎样理解示波器的波形捕获率,捕获周期
- [Linux]时间相关命令
- 解惑】考研:考还是不考?
- ClustLib——A C++ Data Clustering Framework(一):数据集相关类设计
- 【GZOJ】1314——异或最大值
- 面试题——a、b交换与比较
- HDU 4937 Lucky Number
- 南大软院大神养成计划--第三天网页布局
- 南大软院大神养成计划--day03
- 搭建hadoop前期的Linux环境的配置
- Python List+Tuple+Dict+Set小结
- mysql-5.6.27-winx64安装
- 第一个android 程序的学习心得