#P10890. 【烂题杯 Round 1】可持久化糖果树

    ID: 10318 Type: RemoteJudge 3000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>多项式容斥快速沃尔什变换 FWT

【烂题杯 Round 1】可持久化糖果树

题目描述

小 A 有一棵糖果树,树上有 nn 个节点,编号为 1,2,,n1,2,\cdots,n。每个节点里有 mm 位小朋友,编号为 1,2,,m1,2,\cdots,m。每个小朋友可以进行 kk 次祈愿,编号为 1,2,,k1,2,\cdots,k。节点 ii 中的第 jj 位小朋友的第 xx 次祈愿可以获得 ai,j,xa_{i,j,x} 个糖果。我们称未被修改的糖果树为第 00 个版本树。

一个小朋友被称为开心的,当且仅当她经过 kk 轮祈愿后可以获得的糖果数量可以被 33 整除,这样就可以把糖果平均地分给她和她的父母。也就是说,第 ii 个节点的第 jj 个小朋友是开心的当且仅当 x=1kai,j,xmod3=0\sum_{x=1}^k a_{i,j,x}\bmod 3=0

一个节点被称为是快乐的,当且仅当上面的 mm 位小朋友都是开心的。

小 A 可以施加魔法:他将会有 qq 次修改,下标从 11 开始的第 ii 次修改可以描述为 (x,y,z)(x,y,z),表示将第 xx 个版本树上所有节点中的所有小朋友的第 yy 次祈愿获得的糖果数量乘上 zz,得到第 ii 个版本树。要求你求出每个版本树中有多少个点是快乐的。

输入格式

第一行有 33 个整数 nnmmkk,分别表示节点个数、每个节点上的小朋友个数、每个小朋友的祈愿次数。

接下来读入 nn 行,每行 m×km\times k 个整数,表示 ai,j,xa_{i,j,x},从 11 开始标号。

接下来一行一个正整数 qq,表示修改次数。

接下来读入 qq 行,第 ii 行三个正整数 x,y,zx,y,z,表示将第 xx 个版本树上所有节点中的所有小朋友的第 yy 次祈愿获得的糖果数量乘上 zz,得到第 ii 个版本树,从 11 开始标号。

输出格式

输出 q+1q+1 行,每行一个正整数,第 ii 行表示第 i1i-1 个版本树中快乐的节点数。

2 2 3
1 2 3 4 5 6
7 8 9 10 11 12
5
0 1 13
0 2 14
1 2 15
1 3 16
2 3 17
2
2
0
0
2
0
10 1 2
568508003 500481779
296073373 42467215
878878423 182698953
810051825 300278778
506619835 300576052
878109763 816209514
722729481 557555287
810227870 524124026
693592304 92818139
971977946 139368888
3
0 1 524124026
0 1 500481779
0 2 816209514
1
6
6
2

提示

数据范围:

对于 0%0\% 的数据,满足 n103n\le 10^3q103q\le 10^3

对于 0%0\% 的数据,满足 n103n\le 10^3q106q\le 10^6

对于另外 0%0\% 的数据,满足 m=1m=1

对于另外 0%0\% 的数据,满足 k=1k=1

对于另外 0%0\% 的数据,满足 q=0q=0

对于 100%100\% 的数据,满足 1n1051\le n\le 10^51m41\le m\le 41k121\le k\le 120q1060\le q\le 10^60ai,j,x1090\le a_{i,j,x}\le 10^9。对于第 ii 次修改,0x<i0\le x<i1yk1\le y\le k0z1090\le z\le 10^9

输入输出量较大,需要快速输入输出算法。