HDU 5344(MZL's xor-(ai+aj)的异或和)

MZL‘s xor

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 800    Accepted Submission(s): 518

Problem Description

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 (+)()

The xor of an array B is defined as
xor ...xor

Input

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:,,,

,

,

Output

For every test.print the answer.

Sample Input

2
3 5 5 7
6 8 8 9

Sample Output

14
16

Author

SXYZ

Source

2015 Multi-University Training Contest 5

Recommend

wange2014   |   We have carefully selected several similar problems for you:  5416 5415 5414 5413 5412

(Ai+Aj)^(Aj+Ai)=0 (i≠j)

然后注意开long long 否则 ai*m时会爆

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<functional>
#include<iostream>
#include<cmath>
#include<cctype>
#include<ctime>
using namespace std;
#define For(i,n) for(int i=1;i<=n;i++)
#define Fork(i,k,n) for(int i=k;i<=n;i++)
#define Rep(i,n) for(int i=0;i<n;i++)
#define ForD(i,n) for(int i=n;i;i--)
#define RepD(i,n) for(int i=n;i>=0;i--)
#define Forp(x) for(int p=pre[x];p;p=next[p])
#define Forpiter(x) for(int &p=iter[x];p;p=next[p])
#define Lson (x<<1)
#define Rson ((x<<1)+1)
#define MEM(a) memset(a,0,sizeof(a));
#define MEMI(a) memset(a,127,sizeof(a));
#define MEMi(a) memset(a,128,sizeof(a));
#define INF (2139062143)
#define F (100000007)
#define MAXN (5000000+10)
typedef long long ll;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return (a-b+llabs(a-b)/F*F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
ll a[MAXN];
ll n,m,z,l;
int main()
{
//	freopen("B.in","r",stdin);
	int T;cin>>T;
	while(T--)
	{
		cin>>n>>m>>z>>l;
		a[1]=0;
		Fork(i,2,n) a[i]=(a[i-1]*m+z)%l;
		ll s=0;
		For(i,n) s=s^(2*a[i]);
		cout<<s<<endl;
	} 

	return 0;
}

HDU 5344(MZL's xor-(ai+aj)的异或和)

时间: 2024-10-11 00:05:57

HDU 5344(MZL&#39;s xor-(ai+aj)的异或和)的相关文章

hdu 5344 MZL&#39;s xor

MZL's xor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 911    Accepted Submission(s): 589 Problem Description MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to k

hdu 5344 MZL&#39;s xor(数学之异或)

Problem Description 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 Input Multiple test cases, the first line contains an inte

HDU 5344 MZL&#39;s xor (多校)[补7月28]

MZL's xor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 249    Accepted Submission(s): 187 Problem Description MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to k

HDU 5344 MZL&#39;s xor(水题)

MZL's xor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 456    Accepted Submission(s): 322 Problem Description MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to

hdu 5348 MZL&amp;#39;s endless loop

给一个无向图(事实上是有向的.可是没有指定边的方向),你须要指定边的方向,使得每一个点入度和出度相差不超过1. 事实上就是找很多条路径.合起来能走完这个图..先统计各个顶点的度.度为奇数必是起点或终点,否则是中间点或者同为起点和终点. 邻接表建图(建双向),先从每一个奇数度顶点出发找路径,再从偶数度顶点出发找路径.经过的边要删去不然超时. #include <iostream> #include <cstring> #include <cstdio> #include

HDU 5347(MZL&amp;#39;s chemistry-打表)

MZL's chemistry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 629    Accepted Submission(s): 449 Problem Description MZL define as the first ionization energy of the chemical element Now he g

HDU 5344(2015多校5)-MZL&#39;s xor(水题)

题目地址:HDU 5344 题意:求所有(Ai+Aj)的异或值. 思路:可以发现(Ai+Aj)和(Aj+Ai)的异或值为0,所以最后只剩下(Ai+Ai). #include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> #include <iostream> #include <sstream> #include <algorithm>

hdu 5344 (多校联赛) MZL&#39;s xor --- 位运算

here:    首先看一下题吧:题意就是让你把一个序列里所有的(Ai+Aj) 的异或求出来.(1<=i,j<=n) Problem Description 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 B

hdoj 5344 MZL&#39;s xor

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5344 1 #include<stdio.h> 2 #include<cstring> 3 const int MAXN = 500010; 4 int A[MAXN]; 5 void bas( int n, int m, int z, int l){ 6 for( int i = 1;i < n; ++i){ 7 A[i] = ( (long long)A[i-1]*m + z