您的位置:首页 > 其它

Hdu-5344 MZL's xor

2016-05-29 17:54 260 查看
[align=left]Problem Description[/align]
MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to know the xor of all (Ai+Aj)(1≤i,j≤n)

The xor of an array B is defined as B1
xor B2...xor
Bn
 

[align=left]Input[/align]
Multiple test cases, the first line contains an integer T(no more than 20), indicating the number of cases.

Each test case contains four integers:n,m,z,l
A1=0,Ai=(Ai−1∗m+z)
mod
l
1≤m,z,l≤5∗105,n=5∗105

 

[align=left]Output[/align]
For every test.print the answer.
 

[align=left]Sample Input[/align]

2
3 5 5 7
6 8 8 9

 

[align=left]Sample Output[/align]

14
16

 

[align=left]Author[/align]
SXYZ
 

[align=left]Source[/align]
2015 Multi-University Training Contest 5

 

[align=left]Recommend[/align]
wange2014

分析:超级水题,比赛时看错题了。

#include <cstdio>
#include <iostream>
using namespace std;
int T;
long long n,m,z,l;
int main()
{
cin.sync_with_stdio(false);
cin>>T;
while(T--)
{
cin>>n>>m>>z>>l;
long long x = 0,ans = 0;
for(int i = 2;i <= n;i++)
{
x = (x*m + z) % l;
ans = ans ^ x;
}
cout<<ans*2<<endl;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: