小清新数据结构题

Luogu
IDLGB3665
Time2000ms
Memory512MB
DifficultyP2
O2优化
给定 $n$ 条数据,第 $i$ 条数据有 $s_i$ 个数,依次记为 $a_{i, 1}, a_{i, 2}, \dots a_{i, s_i}$。 现在有 $q$ 次询问,每次询问第 $x$ 条数据的第 $y$ 个数,即 $a_{x,y}$ 是多少。 为了避免输出过大,你只需要输出所有询问的答案的**按位异或**和。 按位异或指的是 C++ 中的「^」运算符。你可以参考「说明/提示」中的代码求出若干个数的按位异或和。 ## Input 第一行是两个整数,表示数据条数 $n$ 和询问次数 $q$。 接下来 $n$ 行,每行依次表示一条数据,每行首先是一个整数,表示本条数据的数字个数 $s_i$,接下来 $s_i$ 个整数,依次表示本条数据的每个数字。 接下来 $q$ 行,每行两个整数 $x, y$,表示一次查询。 ## Output 输出一行一个整数表示所有询问的答案的按位异或之和。 [samples] ## Note ### 样例 1 解释 第一次询问的结果为 $5$,第二次询问的结果为 $2$。他们做按位异或的结果为 $7$。 ### 数据规模与约定 对于全部的测试点,保证 $1 \leq n, q, s_i \leq 3 \times 10^6$,$0 \leq a_i \lt 2^{32}$,$1 \leq x \leq n$,$1 \leq y \leq s_x$,且 $\sum\limits_{i = 1}^n s_i \leq 5 \times 10^6$,即 $s_1 + s_2 + \dots + s_n \leq 5 \times 10^6$。 ### 提示 对于使用 C++ 的选手,你可以用如下的函数返回若干个数的按位异或和。 ```cpp #include <vector> unsigned int getXorSum(const std::vector<unsigned int>& rec) { unsigned ret = 0; for (int i = 0; i < rec.size(); ++i) ret ^= rec[i]; return ret; } // 将需要求按位异或和的数放在 vector 中传参。 ``` 请注意大量数据读入对程序效率造成的影响。
Samples
Input #1
2 2
2 1 2
3 4 5 6
2 2
1 2
Output #1
7
API Response (JSON)
{
  "problem": {
    "name": "小清新数据结构题",
    "description": {
      "content": "给定 $n$ 条数据,第 $i$ 条数据有 $s_i$ 个数,依次记为 $a_{i, 1}, a_{i, 2}, \\dots a_{i, s_i}$。 现在有 $q$ 次询问,每次询问第 $x$ 条数据的第 $y$ 个数,即 $a_{x,y}$ 是多少。 为了避免输出过大,你只需要输出所有询问的答案的**按位异或**和。 按位异或指的是 C++ 中的「^」运算符。你可以参考「说明/提示」中的",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3665"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定 $n$ 条数据,第 $i$ 条数据有 $s_i$ 个数,依次记为 $a_{i, 1}, a_{i, 2}, \\dots a_{i, s_i}$。\n\n现在有 $q$ 次询问,每次询问第 $x$ 条数据的第 $y$ 个数,即 $a_{x,y}$ 是多少。\n\n为了避免输出过大,你只需要输出所有询问的答案的**按位异或**和。\n\n按位异或指的是 C++ 中的「^」运算符。你可以参考「说明/提示」中的...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments