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

相关文章推荐

CSU 1216 异或最大值

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

【BZOJ 4571】美味 【区间异或最大值】【主席树】【贪心】

QAQ我感觉一点都不裸啊。。好容易写挂。。debug了好一会【听说如果没有加法可以用可持久化字典树过orz %大神】 #include #include #include #include #inc...

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

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

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
  • 944

编程之美连载——连续子数组和的最大值

问题 给定一整数数组,求连续的子数组和的最大值,例如: 1, -2, 3, 5, -3, 2 最大值为8 0, -2, 3, 5, -1, 2 最大值为9 分析 《编程之美...

Java——最大值的位置

/*  * Copyright (c) 2014, 烟台大学计算机学院  * All rights reserved.  * 文件名称:test.cpp  * 作    者:李晓凯  * 完...

HDU 5443 The Water Problem(水题 找区间最大值)——2015 ACM/ICPC Asia Regional Changchun Online

HDU 5443 The Water Problem(水题 找区间最大值)——2015 ACM/ICPC Asia Regional Changchun Online

编程之美2.15——二维子数组之和的最大值

问题: 1. 求二维数组(矩阵)的子矩阵之和的最大值。 2. 求三维数组(长方体)的子方体之和的最大值。 解法: 先计算出以左上角的元素(1,1)和当前元素(i,j)为顶点对的子矩阵的...

最大值最小化问题——分治

问题描述: 把一个包含n个正整数的序列划分成m个连续的子序列。设第i个序列的各数之和为S(i),求所有S(i)的最大值最小是多少? 例如序列1 2 3 2 5 4划分为3个子序列的最优方案为 1...

【算法设计与数据结构】二分法解决最大值最小化问题——入门篇

问题描述把一个包含n个正整数的序列划分成m个连续的子序列。设第i个序列的各数之和为S(i),求所有S(i)的最大值最小是多少? 例子: 序列1 2 3 2 5 4划分为3个子序列的最优方案为 1 2...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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