题目名称 1874. [国家集训队2011]cheat(吴确)
输入输出 nt2011_cheat.in/out
难度等级 ★★★
时间限制 500 ms (0.5 s)
内存限制 512 MiB
测试数据 20
题目来源 Gravatarcstdio 于2014-12-14加入
开放分组 全部用户
提交状态
分类标签
分块
分享题解
通过:4, 提交:7, 通过率:57.14%
Gravatar514flowey 100 2.887 s 63.23 MiB C++
Gravatarcstdio 100 3.511 s 66.70 MiB C++
GravatarFlere825 100 4.098 s 68.97 MiB C++
Gravatarmikumikumi 100 6.748 s 129.24 MiB C++
GravatarFlere825 0 2.615 s 68.97 MiB C++
Gravatarcstdio 0 2.841 s 65.74 MiB C++
Gravatarmikumikumi 0 5.839 s 128.41 MiB C++
关于 cheat(吴确) 的近10条评论(全部评论)
10%的数据q小于10w。100%的数据q小于3w
Gravatarnew ioer
2015-03-17 21:17 2楼
出题人你身为一个P党还非得用64位整型有意思吗→_→
Gravatarcstdio
2014-12-14 22:57 1楼

1874. [国家集训队2011]cheat(吴确)

★★★   输入文件:nt2011_cheat.in   输出文件:nt2011_cheat.out   简单对比
时间限制:0.5 s   内存限制:512 MiB

【试题来源】

2011中国国家集训队命题答辩

【问题描述】

转眼间一年过去了,高一一班的同学迎来了期末考试。令计算机竞赛教练scp大老板惊讶的是,考试座位在某一个小矩形里面的同学考试分数出奇的一致(众所周知,高一一班的座位是个n*m的矩阵),这不由得让scp大老板心生怀疑。scp大老板有q个疑问,对于某个矩形,分数在a到b之间的同学有几人。(本题要求在线算法,即只有正确输出了上一个询问的答案才会给出下一个询问,所以你不能将询问排序。因为类型只能是传统,所以请大家自觉写在线算法。这套题已经这么水了,请大家就不要用离线算法拿分了。)

【输入格式】

(由于数据要求小于5M,本题中输入的t矩阵和v矩阵都将由如下规则生成。对于某个矩阵f,f[i,j]=a[i mod pa +1]+b[i mod pb +1]+c[i mod pc +1]+a[j mod pa +1]+ b[j mod pb +1]+c[j mod pc +1])
输入的第一行的第一个正整数为pa,接下来pa个数为a[1..pa]
输入的第二行的第一个正整数为pb,接下来pb个数为b[1..pb]
输入的第三行的第一个正整数为pc,接下来pc个数为c[1..pc]
输入的第四行包含两个整数n,m,p表示v矩阵的大小为n*m。
v矩阵,表示座位在第i行第j列的同学的考试分数为v[i,j] mod p +1。
接下来一行包含一个整数q表示t矩阵的大小为q*6。
t矩阵的每一行的六个数x1,y1,x2,y2,a,b表示这一次询问以座位min(x1 mod n +1,x2 mod n +1),min(y1 mod m +1,y2 mod m +1)为左上角,max(x1 mod n +1,x2 mod n +1),max(y1 mod m +1,y2 mod m +1)为右下角的矩形里,分数在min(a mod p +1 ,b mod p +1),max(a mod p +1, b mod p +1)之间(包含a,b)的同学有几个。

【输出格式】

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

【样例输入】

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

【样例输出】

50

【数据规模和约定】

对于10%以内的数据,n,m<=150 q<=1000。
另有10%的数据,n,m<=50 q<=100000。
对于100%以内的数据,n,m<=250 q<=30000 pa,pb,pc<3000 输入数据中的所有数字小于等于1000000007。
对于100%的数据,时间限制为0.5s。