#1939. 小清新数据结构题
小清新数据结构题
题目描述
给定 条数据,第 条数据有 个数,依次记为 。
现在有 次询问,每次询问第 条数据的第 个数,即 是多少。
为了避免输出过大,你只需要输出所有询问的答案的 按位异或 和。
按位异或指的是 C++ 中的 ^
运算符。你可以参考「说明/提示」中的代码求出若干个数的按位异或和。
输入格式
第一行是两个整数,表示数据条数 和询问次数 。
接下来 行,每行依次表示一条数据,每行首先是一个整数,表示本条数据的数字个数 ,接下来 个整数,依次表示本条数据的每个数字。
接下来 行,每行两个整数 ,表示一次查询。
输出格式
输出一行一个整数表示所有询问的答案的按位异或之和。
2 2
2 1 2
3 4 5 6
2 2
1 2
7
样例 1 解释
第一次询问的结果为 ,第二次询问的结果为 。他们做按位异或的结果为 。
数据规模与约定
对于全部的测试点,保证 ,,,,且 ,即 。
提示
序列 的异或和用代码表示就是:
long long sum = 0; // 根据数据范围设定类型
for (int i = 1; i <= n; i++)
sum ^= a[i];
请注意大量数据读入对程序效率造成的影响。