#P10308. 「Cfz Round 2」Osmanthus
「Cfz Round 2」Osmanthus
题目描述
给定一个长度为 的序列 。
我们定义一次操作为,同时将序列 中的每个元素 替换为 (即 至 的异或和),其中 表示按位异或,即 C++ 中的 ^
。
现有 次有序的修改,每次修改会给定两个整数 ,表示将 的值修改为 。修改之间并不独立,每次修改会对后续的修改产生影响。
你需要在每次修改后,找到最小的正整数 ,满足进行 次操作后的序列 与操作前的序列 相同。可以证明一定存在满足要求的正整数 。
由于答案可能很大,所以你只需要输出答案对 取模的结果。
输入格式
第一行输入两个整数 。
第二行输入 个整数,表示给定的序列 。
接下来 行,每行输入两个整数 ,表示一次修改。
输出格式
共 行,每行输出一个整数,其中第 行的整数表示第 次修改后,最小的满足要求的正整数 对 取模的结果。
3 3
3 1 0
2 2
1 0
2 0
4
2
1
提示
「样例解释 #1」
第 次修改后的序列 为 ,此时进行 次操作后的序列 为 ,进行 次操作后的序列 为 ,进行 次操作后的序列 为 ,进行 次操作后的序列 为 ,所以最小的满足要求的正整数 为 。
「数据范围」
对于所有数据,,,。
只有你通过本题的所有测试点,你才能获得本题的分数。