bzoj#P2128. cheat

cheat

题目描述

转眼间一年过去了,高一一班的同学迎来了期末考试。令计算机竞赛教练 scp 大老板惊讶的是,考试座位在某一个小矩形里面的同学考试分数出奇的一致(众所周知,高一一班的座位是个 n×mn\times m 的矩阵),这不由得让 scp 大老板心生怀疑。scp 大老板有 qq 个疑问,对于某个矩形,分数在 aabb 之间的同学有几人。

输入格式

输入的第一行的第一个正整数为 papa ,接下来 papa 个数为 a1paa_{1\dots pa}

输入的第二行的第一个正整数为 pbpb ,接下来 pbpb 个数为 b1pbb_{1\dots pb}

输入的第三行的第一个正整数为 pcpc ,接下来 pcpc 个数为 c1pcc_{1\dots pc}

输入的第四行包含三个整数 n,m,pn,m,p 表示 vv 矩阵的大小为 n×mn\times mvv 矩阵,表示座位在第 ii 行第 jj 列的同学的考试分数为 vi,jmodp+1v_{i,j} \bmod p +1

接下来一行包含一个整数 qq 表示 tt 矩阵的大小为 q×6q\times 6tt 矩阵的每一行的六个数 x1,y1,x2,y2,a,bx_1,y_1,x_2,y_2,a,b 表示这一次询问以座位 $\min\{x_1 \bmod n +1,x_2 \bmod n +1\},\min\{y_1 \bmod m +1,y_2 \bmod m +1\}$ 为左上角,$\max\{x_1 \bmod n +1,x_2 \bmod n +1\},\max\{y_1 \bmod m +1,y_2 \bmod m +1\}$ 为右下角的矩形里,分数在 $\min\{a \bmod p +1 ,b \bmod p +1\},\max\{a \bmod p +1, b \bmod p +1\}$ 之间(包含 a,ba,b)的同学有几个。

输出格式

输出一个正整数,表示所有 qq 次询问结果的异或和。

3 7 7 10
5 4 4 7 11 11
7 4 7 1 4 3 11 8
10 10 11
100
50

数据规模与约定

对于 10%10\% 的数据, 1n1501\le n\le 1501m1501\le m\le 1501q1031\le q\le 10^3

对于剩余的 90%90\% 的数据:

10%10\% 的数据, 1n501\le n\le 501m501\le m\le 501q1051\le q\le 10^5

80%80\% 的数据, 1n2501\le n\le 2501m2501\le m\le 2501q3×1041\le q\le 3\times 10^4

对于 100100% 的数据,1pa<3×1031\le pa<3\times 10^31pb<3×1031\le pb<3\times 10^31pc<3×1031\le pc<3\times 10^3 ,输入数据中的所有数字小于等于 10000000071000000007

由于数据要求小于 5M5M ,本题中输入的 tt 矩阵和 vv 矩阵都将由如下规则生成:对于某个矩阵 ff,$f_{i,j}=a_{i \bmod pa +1}+b_{i \bmod pb +1}+c_{i \bmod pc +1}+a_{j \bmod pa +1}+ b_{j \bmod pb +1}+c_{j \bmod pc +1}$。

本题要求在线算法,即只有正确输出了上一个询问的答案才会给出下一个询问,所以你不能将询问排序。因为类型只能是传统,所以请大家自觉写在线算法。这套题已经这么水了,请大家就不要用离线算法拿分了。

题目来源

[国家集训队作业 2010]