设为首页 加入收藏

TOP

HDU 5344 多个数的和异或-思维-(位运算)
2015-11-21 00:55:50 来源: 作者: 【 】 浏览:1
Tags:HDU 5344 个数 思维 运算

题意:n个数的两两做和,然后异或

分析:

异或的性质:两个相同的数异或为0,所以Ai+Aj异或Aj+Ai等于0,所以最终结果就是Ai+Ai的异或

代码:

?

#include
  
   
long long t,n,m,z,l;
long long a[1000005];
int main()
{
    scanf(%I64d,&t);
    while(t--){
        scanf(%I64d%I64d%I64d%I64d,&n,&m,&z,&l);
        a[1]=0;
        long long ans=0;
        long long i;
        for(i=2;i<=n;i++){
            a[i]=(a[i-1]*m+z)%l;
            ans^=(a[i]*2);
        }
        printf(%I64d
,ans);
    }
}

  


?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU 3333 Turing Tree(树状数组 .. 下一篇uva 11806 - Cheerleaders(容斥原..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: