#P6344. [CCO2017] Vera 与现代艺术

[CCO2017] Vera 与现代艺术

题目描述

在受到大画家毕加索的启发后,Vera 决定创造她的杰作。她有一张可以被简化成无限大的二维平面的画布。Vera 喜欢 22 的整数次幂 (1,2,4,8,16,...)(1,2,4,8,16,...),并且将以 22 的整数幂为步长给一些点染色。

Vera 将会染 nn 次,第 ii 次染色可以用三个整数 xi,yi,vix_i,y_i,v_i 描述。令 aia_i 为最大的不大于 xix_i22 的整数次幂,bib_i 为最大的不大于 yiy_i22 的整数次幂,Vera 会用第 viv_i 种颜色在所有坐标满足 (xi+aip,yi+biq)(x_i+a_ip,y_i+b_iq) 的点上染色( p,qp,q 为非负整数)。一个点可以被不同的颜色分别染多次,也可以被同种颜色重复染多次,一个点的颜色为所有染过这个点的颜色之和。

接下来 Vera 将提出 QQ 个问题。对于第 jj 个问题,她希望知道坐标为 (rj,cj)(r_j,c_j) 的点是什么颜色。如果一个点没有被染过色,这个点的颜色就为 00

因为你被迫做 Vera 的助手,你不得不回答 Vera 的问题。

输入格式

第一行包括两个整数 n,Qn,Q,用一个空格分隔。

接下来 nn 行,每行三个空格隔开的整数 xi,yi,vix_i,y_i,v_i,表示用第 viv_i 种颜色进行题目中的染色操作,参数为 xix_iyiy_i

再接下来 QQ 行,每行两个空格隔开的整数 rj,cjr_j,c_j,表示询问点 (rj,cj)(r_j,c_j) 的颜色。

输出格式

输出共有 QQ 行,每行一个整数,第 jj 行的整数表示点 (rj,cj)(r_j,c_j) 的颜色。

5 6
1 2 1
3 4 2
4 5 3
6 3 4
7 1 5
2 6
7 8
5 9
11 2
10 7
4 5
1
8
0
6
4
3

提示

样例解释

令颜色 1,2,3,4,51,2,3,4,5 分别为红色、蓝色、绿色、橙色和紫色。

p,qp,q 为非负整数,则:

  • 坐标为 (1+p,2+2q)(1+p,2+2q) 的点被染成了红色;
  • 坐标为 (3+2p,4+4q)(3+2p,4+4q) 的点被染成了蓝色;
  • 坐标为 (4+4p,5+4q)(4+4p,5+4q) 的点被染成了绿色;
  • 坐标为 (6+4p,3+2q)(6+4p,3+2q) 的点被染成了橙色;
  • 坐标为 (7+4p,1+q)(7+4p,1+q) 的点被染成了紫色;

(0,0)(0,0)(11,11)(11,11) 的坐标纸如图所示:

我们可以发现:

  • (2,6)(2,6) 被染成了红色,所以它的颜色为 11
  • (7,8)(7,8) 被染成了红色、蓝色和紫色,所以它的颜色为 1+2+5=81+2+5=8
  • (5,9)(5,9) 没有被染色,所以它的颜色为 00
  • (11,2)(11,2) 被染成了红色和紫色,所以它的颜色为 1+5=61+5=6
  • (10,7)(10,7) 被染成了橙色,所以它的颜色为 44
  • (4,5)(4,5) 被染成了绿色,所以它的颜色为 33

数据范围及约定

  • 对于 20%20\% 的数据,1n,Q2×1031 \le n,Q \le 2 \times 10^3
  • 对于另外 20%20\% 的数据,yi=1(1in)y_i = 1(1 \le i \le n)
  • 对于另外 20%20\% 的数据,1n,Q1051 \le n,Q \le 10^51rj,cj109(1jQ)1 \le r_j,c_j \le 10^9(1 \le j \le Q)
  • 对于 100%100\% 的数据,1n,Q2×1051 \le n,Q \le 2 \times 10^51in1 \le i \le n1vi1041 \le v_i \le 10^41xi,yi,rj,cj10181 \le x_i,y_i,r_j,c_j \le 10^{18}1jQ1 \le j \le Q

由于评测机原因,该题只保留最后 1010 个数据。

来源:CCO 2017 Day1「Vera and Modern Art」。

说明:翻译来自 LOJ