Contest2037 - CSU Monthly 2013 Oct (problem E 1322: ZZY‘s new company)
1322: ZZY‘s new company
Time Limit: 3 Sec Memory Limit: 312 MBSubmit: 118 Solved: 13
[Submit][Status][Web Board]
Description
zzy开了一家公司,然后他为公司制定了人事制度:为每个员工都定一个直接的上属(除了zzy自己),这样就把公司表示成了一个树形的人事关系图,树的最顶端就是zzy自己。如果a的直接上属是b则称a是b的一级下属,接下去的依次称为2级、3级……k级下属。
由于如zzy奇葩的想法,他将改变一部分员工的工资,方法依旧是将员工原来的工资异或一个数,得到新的工资。
Input
每个例子的第一行含两个数N和Q,表示zzy找了N(0<N<=100000)个员工,接下来有Q(0<Q<=100000)个询问。
接下来的N行,每行有两个数Ui和Vi(第i行表示id为i的员工资料),表示员工i的上属编号为Ui,原始工资为Vi。然后有Q行,每行的第一个数是a,为0或者1表示一种询问。
如果a为0,则这行还有三个数b,c,v(0<=b<=N, 0 < c, v<=1000000000),表示zzy将b的所有c级下属工资全部异或v,得到新工资。
如果a为1,则这行还有两个数b,c(0<=b<=N, 0 < c),询问b的所有c级下属的总工资。
Output
对于每个修改,如果b没有c级的下属则无视这个修改。
对于每个询问,输出一个数来表示结果,如果b没有c级下属则输出-1。
Sample Input
3 3
0 1
1 2
2 4
1 0 1
0 0 1 3
1 0 1
3 4
0 1
0 2
0 3
1 0 1
0 0 1 6
1 0 1
1 0 2
Sample Output
1
2
6
16
-1
HINT
64位整形格式输入、读出请用%lld
CSU_CX
浙公网安备 33010602011771号