[Ynoi2077] 3dmq
题目背景
这道题是 2077 年的 Ynoi 题,在 2077 年 77 岁的老爷爷 Ynoi 出题人无药可救,把数据范围开大了 $10^{100}$ 倍卡掉了所有高复杂度的算法。
2076 年,苏联自觉已经无法与盟军势力抗衡,末代领导人夫尔巴乔戈发动了对盟军的战争,他们幻想着像 80 年代的军事演习一样,先核弹开路,再钢铁洪流,在一周内将红旗插遍英吉利海峡,然而苏联的科技进步缓慢,在 2076 年,苏军动员兵还在使用波波沙冲锋枪,引以为傲的天启坦克也不敌盟军新开发出的光棱坦克......
在战败后,夫尔巴乔戈被民众吊在了路灯上继续发光发热,很快于 2077 年红旗落地,曾经庞然大物的苏联解体了。战争的刺激导致盟军开发出了大量的新科技,为了对付苏联人的核弹,盟军一直在秘密研发超时空传送仪,盟军利用超时空传送装置进行了很多随机传送测试,在一场测试中,一位前苏联的间谍突然开枪打死了实验的工程师,牺牲自己,将这道题传送到了 2021 年。这道题的意义极其重大,因为超时空传送本质上就是对高维空间的修改查询,能理解高维空间修改查询就能实现超时空传送!
2021 年的苏联科学家接收到他们在 2077 年战败后苏联解体的消息,他们的心中充满了对无名英雄的敬佩以及对未来世界的恐慌,然而当 2021 年的苏联人解密来自 2077 年的信息后,他们惊恐地发现现有的评测机不能支持如此大规模的评测,所以只能开小数据范围。欢迎大家考虑使用高复杂度的算法来通过此题,来帮助苏联人打败盟军。
题目描述
给定一个三维空间上 $n$ 个点,每个点有坐标 $X,Y,Z$,权值 $a,b$,$b$ 初始为 $0$。
有 $m$ 个操作:
`x y z w`:求所有 $X_i\le x,Y_i\le y,Z_i\le z$ 的 $i$ 的 $b_i$ 的和,求和结束后,将所有 $X_i\le x,Y_i\le y,Z_i\le z$ 的点 $i$,其 $b$ 权值加上 $a_i\times w$。
输入输出格式
输入格式
第一行两个数 $n,m$。
之后 $n$ 行,每行四个数 $X,Y,Z,a$ 意义如上述。
之后 $m$ 行,每行四个数 $x,y,z,w$,意义如上述。
输出格式
对每个操作,输出一行一个数表示答案。
由于答案可能很大,所以只需要输出答案对 $2^{64}$ 取模的结果即可。
输入输出样例
输入样例 #1
10 10
5 8 4 10
6 9 6 1
1 2 7 4
7 7 3 4
9 1 5 5
3 4 8 10
8 6 1 3
2 10 2 3
4 5 9 2
10 3 10 4
9 4 2 9
10 10 4 0
3 6 1 0
2 9 4 0
4 9 4 0
7 6 8 3
4 4 7 0
3 4 9 0
7 2 9 8
7 10 2 0
输出样例 #1
0
0
0
0
0
0
12
42
12
0
说明
Idea:ccz181078,Solution:ccz181078,Code:ccz181078,Data:nzhtl1477
对于 $100\%$ 的数据,满足 $1\le n,m\le 5\times 10^5$,初始点集以及权值为均匀随机生成,$X,Y,Z$ 为 $1$ 到 $n$ 的排列,$0\le a,w\le n$,操作为均匀随机生成,每次操作有 $0.8$ 的概率其 $w$ 为 $0$。
本题按照你的程序正确回答的询问个数给分,若你的程序正确回答了前 $x$ 个询问,若 $2x\le m$,你将得到 $\lfloor\frac{100x}{m}\rfloor\%$ 的分数,否则你将得到 $\lfloor50+50\times(\frac{2x-m}{m})^2\rfloor\%$ 的分数。spj 将会在读取到第一个错误的答案或读取到输出末尾或读取完前 $m$ 行时终止读取,之后的信息将被忽略,请勿在行末添加空格。
**注意:若你的程序 TLE,你将会得到 0 分。**