AT_cpsco2019_s1_e.Exclusive OR Queries
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
现有一个长度为 N 的整数序列 A1,A2,…,AN。你的任务是依次处理 Q 个查询。每个查询步骤如下:
- 选择序列中所有值在 Li 到 Ri 范围内的元素,计算这些元素的异或值(排他的或),并输出该结果。然后,将满足条件的所有元素更新为 Xi。如果在给定范围内没有元素,则输出结果为 0。
为了让你更好地理解,异或运算定义如下:
- 给定整数 c1,c2,…,cn,它们的异或值 X 在二进制表示下的某个位 2k(k≥0)为 1,当且仅当在这些数中,第 2k 位上值为 1 的个数为奇数,否则该位为 0。
例如,数字 3 和 5 的异或值为 6(用二进制表示:011 和 101 的异或是 110)。
输入格式
输入以以下格式给出:
第一行是两个整数 N 和 Q,表示序列的长度和查询的数量。
第二行包含 N 个整数,代表序列 A1,A2,…,AN。
接下来的 Q 行,每行包含三个整数 Li,Ri,Xi,代表一个查询。其中 Li 和 Ri 是查询范围,Xi 是更新的值。
输出格式
按照查询顺序输出 Q 行,每行是对应查询的结果。
输入输出样例
输入#1
5 2 7 4 1 5 9 7 10 2 2 8 5
输出#1
14 1
输入#2
1 1 5 1 3 2
输出#2
0
输入#3
15 10 76 87 42 60 30 58 52 82 42 13 81 8 97 5 87 4 11 92 56 60 68 90 100 24 30 35 15 12 17 53 24 32 31 0 6 85 74 82 55 69 72 30 50 61 49
输出#3
13 6 97 30 2 24 0 79 0 3
说明/提示
约束条件
- 序列长度 1≤N≤300,000
- 查询次数 1≤Q≤200,000
- 序列中元素 0≤Ai≤1,000,000,000
- 查询范围 0≤Li≤Ri≤1,000,000,000
- 更新值 0≤Xi≤1,000,000,000
示例说明
- 在第一个查询中,值处于 7 到 10 的整数有 7 和 9,它们的异或结果是 14,因此输出 14。在更新后,序列变为 {2,4,1,5,2}。
- 在第二个查询中,值在 2 到 8 范围内的整数有 2,4,5,2,它们的异或结果是 1,因此输出 1。更新后,序列变为 {5,5,1,5,5}。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?