2017.07.18 P2 位运算
题目描述
xenia 是一名初级程序员,他有一个由 个非负整数的序列 a:, ,…, 。xenia 目前正在研究位运算,为了更好的了解它们的工作,xenia 打算去计算某些值 v。他需要多次运算才能得到 v 值。
例如序列 a = {1, 2, 3, 4}:
第一步:将相邻元素进行 OR 运算,(1 or 2 = 3, 3 or 4 = 7);
第二步:将相邻元素进行 XOR 运算,(3 xor 7 = 4);
第三步:重复 2, 3 步,直到得到 v。
简单来说就是 OR, XOR 这两种运算符的交替运算,然后输出最终的数值。
再给出 m 个更新,每次更新一对整数 p, b,将 p 位置的值改为 b。对于每次更新,输出整个序列的 v 值。
输入格式
第一行两个整数 n, m;
第二行 个整数 , , …, ;
接下来 m 个更新 , 。
输出格式
对于每个更新,输出整个序列的 v 值。
样例1
输入
输出
数据范围
对于 30%的数据,1 n 5, 1 m 20,0 ai < 50,1 , 0 < 50;
对于 100%的数据,1 n 17, 1 m ,0 < 230,1 , 0 < 。
限制
1s, 256M
来源
Codeforces339D
CWOI新高二专题测试十五