您的位置:首页 > 其它

Hdu 5344 MZL's xor (杂)

2016-07-13 20:57 323 查看
解析:i!=j时(a[i]+a[j])^(a[j]+a[i]) = 0.因此只需统计2*a[i]即可。

[code]:

#include<cstdio>

using namespace std;
typedef long long LL;
LL n,m,z,l;

int main(){
int i,j,cas;
LL value,ans;
scanf("%d",&cas);
while(cas--){
scanf("%I64d%I64d%I64d%I64d",&n,&m,&z,&l);
value = ans = 0;
for(i = 2;i <= n;i++){
value = (value*m+z)%l;
ans ^= 2*value;
}
printf("%I64d\n",ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: