【GZOJ】1314——异或最大值

原创 2015年11月18日 23:35:41

题目链接广大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;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Find MaxXorSum 经典字典树求异或最大值

传送门:Find MaxXorSum题目大意给出n个数,求在这n个数中取两个数使得他们异或最大解题思路非常经典利用字典树求异或的最大值。 读懂这个题目之后,对于初学者我们可能会思考下面的问题: 1...
  • woshinannan741
  • woshinannan741
  • 2016年07月21日 19:26
  • 1181

数组中两个元素异或求最大值

给一个整数数组,求数组中两个元素异或的最大值. 思路:naive的做法是两两异或求最大值,时间复杂度为O(n*n),但是还有一种O(n)的解法,利用字典树Trie来实现. 其思路是利用数组...
  • qq508618087
  • qq508618087
  • 2016年09月28日 22:56
  • 2141

CSU 1216 异或最大值

【题意】 给定序列q[1..n],求任意两数异或的最大值 数据范围:1 【分析】Trie用来从高到低保存0和1,然后爆搜:尽可能凑1,不然凑0 【代码】 WOC为什么是多组数据? #i...
  • u013598409
  • u013598409
  • 2015年04月06日 23:04
  • 593

bzoj 4245 OR-XOR(按位异或贪心)

题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4245 题意:求n个数分成连续m段,每段取异或最后所有段或值的最小值 题解:经过这几道...
  • Miracle_ma
  • Miracle_ma
  • 2016年05月23日 16:46
  • 688

CSU_1216(异或最大值)

题目链接:CSU_1216题目简述: 经典题目,求一个数组中两个数异或运算的最大值。题目极其简单,但是要求的复杂度需要达到O(N * log(N)),还是比较难的。解题思路: 总的思路就是构建一棵...
  • fuyukai
  • fuyukai
  • 2015年12月20日 23:19
  • 3057

SGU275. To xor or not to xor(高斯消元求N个数中任取M个数求得异或最大值)

275. To xor or not to xor time limit per test: 0.25 sec. memory limit per test: 65536 KB in...
  • modiz
  • modiz
  • 2015年03月28日 10:15
  • 1177

[cqbzoj]区间异或最大值 - USACO 奶牛异或

奶牛异或时间限制: 1 Sec 内存限制: 64 MB题目描述农民约翰在喂奶牛的时候被另一个问题卡住了。他的所有N(1 ...
  • u013675643
  • u013675643
  • 2017年01月11日 22:43
  • 1218

CSU1216-异或最大值-0-1Trie树

M: 异或最大值Description给定一些数,求这些数中两个数的异或值最大的那个值Input多组数据。第一行为数字个数n,1 ...
  • Zickshen
  • Zickshen
  • 2017年06月27日 00:48
  • 80

异或最大值(01字典树)

/** 异或最大值(01字典树) 题意:求n个非负数中任意2个的异或值的最大值。n数量级为10^5 分析:直接暴力肯定超时了。一个非负整数可以看成1个32位的01字符串,n个数可以看成n个字符串,因此...
  • u013573047
  • u013573047
  • 2015年04月26日 11:27
  • 1560

BZOJ 3261 浅谈可持久化TRIE树最大连续异或和

世界真的很大 trie树贪心求最大异或和大概也就是那么回事了 但是对于区间的查询就不是那么容易的了 考虑主席树的思想,怎么得到区间的值域的 这就是可持久化的trie树 说来容易 指针教做人...
  • BerryKanry
  • BerryKanry
  • 2017年07月26日 20:34
  • 470
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【GZOJ】1314——异或最大值
举报原因:
原因补充:

(最多只允许输入30个字)