POJ 3495 Bitwise XOR of Arithmetic Progression 数论
题目链接:http://poj.org/problem?id=3495题目大意:
求等差数列的异或和。
给定x,y,z,计算出首项为x,公差为z,末项<=y且末项+z>y的等差数列每项的异或和。题解:
显然大数据时暴力计算会超时,那么我们就从位运算的性质下手解决这一问题:
异或操作中每一位互不干扰,所以我们可以分别计算出答案每一位的值。
那么第i位的值就为(⌊x2i⌋+⌊x+z2i⌋+⌊x
原创
2015-10-08 14:58:22 ·
11847 阅读 ·
1 评论