ex_Asbable 一个蒟蒻OIer

20220320校内考试 T1 hat 题解

2022-03-20
ex_Asbable


\[u\]

20220320校内考试 T1 hat 题解

题目描述

给出一个正偶数 ,有 个整数 ,并定义数组 b ,使 外的所有数 异或和。

给出数组 b ,求 a 。

解法

由数组 b 的定义可知,设 B 为数组 b 的异或和,所以 B 就等于每一个 的异或和(因为每个 都异或了 n-1 次,且 n 是偶数, )。那么 ,所以 ,由于异或满足结合律,则 ,我们要求的 它自己就冒出来了。(有点像小学数学的异或版)

所以只需要求出异或和 B,然后一个一个地异或输出就好了。

CODE

const int mn=2e5+10;
const int mm=2e5+10;
const int mod=1e9+7;
const ll inf=0x3f3f3f3f3f3f3f3f;
const ll fni=0xc0c0c0c0c0c0c0c0;
ll n,xor_sum,b[mn];
inline void read_init(){
    n=read<ll>();
    for(ll i=1;i<=n;i++)
        b[i]=read<ll>();
}
int main(){
    // freopen("hat.in","r",stdin);
    // freopen("hat.out","w",stdout);
    read_init();
    for(ll i=1;i<=n;i++)
        xor_sum^=b[i];
    for(ll i=1;i<=n;i++)
        write(xor_sum^b[i],2);
    puts("");
    return 0;
}

Similar Posts

Comments