#D. 异或

    传统题 文件IO:xor 1000ms 256MiB

异或

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

异或是数学运算的一种。在计算机科学中,如同其他位运算一样,异或运算的定义为:对于任意两个整数a和b的每一位,当且仅当a和b在这一位上的值不同,运算结果在这一位为1,否则为0。

例如,3异或5的结果为6。根据上述运算法则,3的四位二进制表示为0011,5的四位二进制表示为0101。对于最高位和最低位,3和5在每一位上的值相同,所以结果为0;对于其余两位,3和5在每一位的值不同,所以结果为1。因此,0011异或0101的结果为0110,也即十进制下的6。

阅读了上面介绍,相信聪明的你一定学会了异或运算的法则,能够灵活运用这一运算了。那么,这里有一道关于异或运算的问题,赶快来试试看吧!

现有一个长度为n的数组(下标为0到n-1),其初始值均为0。

你需要对其进行m次操作,每次操作需要以从 lrl到r 的每个数字异或 pp 作为操作下标(若操作下标超过数组容量大小,则对这一下标的操作可以跳过),对数组这些下标的元素异或 qq

最后,你需要依次输出这个数组每个元素的值(保证数组的每个元素在这m次操作过程中均在32位无符号整数范围内)。

输入格式

第一行包含两个整数 nmn和m。 接下来有 mm 行,每行四个整数lrpql,r,p,q,含义见题目描述。 ​

输出格式

只有一行,包含n个非负整数,即在m次操作后数组每个元素的值。

样例

4 2
0 2 0 3
1 3 0 5
3 6 6 5

【说明】

第一次操作,操作下标为0, 1, 2,数组变为:3, 3, 3, 0

第二次操作,操作下标为1, 2, 3,数组变为:3, 6, 6, 5

4 2
0 2 0 3
1 3 1 5
6 3 6 5

【说明】

第一次操作,操作下标为0, 1, 2,数组变为:3, 3, 3, 0

第二次操作,操作下标为0, 3, 2,数组变为:6, 3, 6, 5

4 2
0 2 1 3
1 3 1 5
6 3 5 6

【说明】

第一次操作,操作下标为1, 0, 3,数组变为:3, 3, 0, 3

第二次操作,操作下标为0, 3, 2,数组变为:6, 3, 5, 6

数据范围与提示

对于所有的测试点,满足1n,m2180lr<n1≤n,m≤218,0≤l≤r<n,保证数组的每个元素在这m次操作过程中均在32位无符号整数范围内。

请选手注意由于输入输出带来的时间开销对题目时间限制的影响。

牛客 普及组 第六场

未认领
状态
已结束
题目
4
开始时间
2022-10-18 0:00
截止时间
2022-12-31 23:59
可延期
24 小时