Sum of xor

原创 2013年12月04日 11:46:55

知道当i为偶数时,i ^ ( i + 1 ) ==1;这一条性质即可解决;

那么只要统计当n是奇数还是偶数时匹配的满足条件的对数;

当n为奇数时,那么除1 外,之后的有( n - 1 )/ 2个1取反;

当n为偶数时,除了1和n外,其余也均可组成满足性质的数(n - 2 ) /2个;

最后由于1 ^ 1 == 0 ; 1 ^ 0 == 1;

求出结果即可; 

// File Name: 4309.cpp
// Author: bo_jwolf
// Created Time: 2013年12月03日 星期二 17:42:29

#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>

using namespace std;

typedef long long LL;
int main(){
    LL n, sum, temp;
    sum = 1;
    while( cin >> n ){
        //sum ^= n;
        //cout << sum << endl;
        sum = 1;
        if( n % 2 == 0 ){
            temp = ( n - 2 ) / 2;
            sum = 1 ^ ( temp % 2 ) ^ n;
        }
        else{
            temp = ( n - 1 ) / 2;
            sum = 1 ^ ( temp % 2 );
        }
    //    cout << temp << endl << endl;
        cout << sum << endl;

    /*    cout << "aaaaaaaaaaaaa" << endl;
        sum = 1;
        for( int i = 2; i <= n; ++i ){
            sum ^= i;
        }
        cout << sum << endl << endl;*/
    }
return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

HDU-4825 Xor Sum 【字典树+位异或】

B - Xor Sum Time Limit:1000MS Memory Limit:132768KB 64bit IO Format:%I64d & %I64u   Zeus 和 Pr...
  • DTL66
  • DTL66
  • 2016年08月18日 20:36
  • 236

hdu4825 Xor Sum 字典树与异或(经典)

求某个数与一些数异或的最大值是字典树应用的一个经典问题。 主要思想是贪心,把数字都转化成二进制,把这些数按存到字典树中。从高位开始遍历,如果有不同的边(可以使得异或值为1)肯定走不同的边,如果没有则...
  • u012576214
  • u012576214
  • 2015年10月22日 22:47
  • 1239

2014百度之星资格赛——XOR SUM

2014百度之星资格赛——XOR SUM Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N...
  • u012736084
  • u012736084
  • 2014年05月22日 23:18
  • 607

百度之星资格赛,hdu 4825 XOR SUM

2014 百度之星资格赛,xor sum ,显然是要建一棵0、1树 其实很简单就是二叉树,只不过为了操作简便,即程序的速度,所以就采用静态树,即不动态分配内存,使用较大的全局数组。...
  • u011401504
  • u011401504
  • 2014年05月23日 21:45
  • 1359

Xor Sum(字典树加贪心)

Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Tota...
  • ZSGG_ACM
  • ZSGG_ACM
  • 2015年03月06日 16:06
  • 760

XOR 异或的性质及应用

异或的性质及运用  异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔...
  • u013797029
  • u013797029
  • 2015年01月23日 12:18
  • 1169

字典树-百度之星-Xor Sum

分析:暴力要超时,所以把每个数字转换为长度为32的0-1字符串,用字典树。因为其公共前缀的特性,空间上可以承受。因为是二叉树,用node[SIZE][2]存放。不知道new速度是否会慢很多,所以没用指...
  • chuchus
  • chuchus
  • 2014年05月17日 10:41
  • 2346

2014百度之星资格赛——XOR SUM

#include #include const int N=100000+100; struct node { int ch[2],size; }p[32*N]; int cnt; void ins...
  • a781675302
  • a781675302
  • 2015年10月27日 09:45
  • 201

Hdu 4825 Xor Sum【字典树+贪心】

Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) Tota...
  • mengxiang000000
  • mengxiang000000
  • 2017年01月11日 18:10
  • 297

HDU-4825 Xor Sum,字典树好题!

Xor Sum     一遍A了之后大呼一声好(keng)题!debug了两小时~~~~百度之星资格赛,可以。     题意:给你一个n个元素的数组,m次查询,每次输入一个数k要求从数组中找到一个数...
  • NYIST_TC_LYQ
  • NYIST_TC_LYQ
  • 2017年01月11日 16:34
  • 263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Sum of xor
举报原因:
原因补充:

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