luogu#P8265. [Ynoi Easy Round 2020] TEST_63

[Ynoi Easy Round 2020] TEST_63

题目描述

给定一棵包含 nn 个点的由有根树构成的森林(初始没有边,每个顶点是一棵有根树的根),顶点由 11nn 的整数编号表示。 你需要维护森林的轻重链剖分结构,具体如下:

对每个顶点 w  (1wn)w\;(1\le w\le n),记其孩子构成的集合为 children(w)\mathrm{children}(w),对 wwww 不是根则记其父亲为 father(w)\mathrm{father}(w)

一个顶点 ww 的子树规模 size(w)\mathrm{size(w)} 定义为 $1+\sum\limits_{u\in\mathrm{children}(w)}\mathrm{size(u)}$;

一个顶点 ww 如果不是叶子(即 children(w)\mathrm{children}(w)\ne\varnothing),则它的重孩子 hc(w)\mathrm{hc}(w) 被定义为 $\mathrm{arg}\max_{u\in\mathrm{children}(w)}size(u)\cdot n+\max(u,\mathrm{hc}(u),\mathrm{hc}(\mathrm{hc}(u)),\dots)$,即子树规模最大的孩子(若有多个孩子 uu 的子树规模相同则取以 uu 为根的子树中,uu 所在重链中最大的编号最大);

重链是一个由顶点构成的序列 w1,w2,,wk  (k>0)w_1,w_2,\dots,w_k\;(k>0),满足条件:

  • w1w_1 是根或 w1hc(father(w1))w_1\ne \mathrm{hc}(\mathrm{father}(w_1))
  • wi=hc(wi1)  (2ik)w_i=\mathrm{hc}(w_{i-1})\;(2\le i\le k)

对一棵树,每个顶点恰好属于一条重链。 重链的权值为 w1w2wkw_1\oplus w_2\oplus\dots\oplus w_k,即序列中顶点编号的按位异或和。

需要依次进行 2m2m 次操作,操作类型如下:

  • 加边:给出两个顶点 a,ba,b,令 bb 成为 bb 所在有根树的根(设顶点构成的序列 t1,t2,,tlt_1,t_2,\dots,t_l 满足 tl=bt_l=b,且 t1t_1 为根,(ti,ti+1),  1i<l(t_i,t_{i+1}),\;1\le i<lbb 所在有根树上的有向边,将这些边的方向反转为 (ti+1,ti)(t_{i+1},t_i) 即可令 bb 成为根),然后加入 aabb 的有向边 (a,b)(a,b),保证操作前 a,ba,b 在不同的有根树上;
  • 删边:给出两个顶点 a,ba,b,删除 a,ba,b 间的有向边(可能为 (a,b)(a,b)(b,a)(b,a) ),保证这条边之前存在;
  • 查询:给出一个整数 kk,设当前共有 NN 条重链,询问将当前存在的所有重链按权值从小到大排序后,第 ((k1)modN)+1((k-1) \mod N)+1 小的权值。

输入格式

11 行有两个整数 n m

接下来 mm 行,每行四个整数 o a b k ,若 o=1o=1 则表示先加边 a,ba,b,然后查询 kk,若 o=0o=0 则表示先删边 a,ba,b,然后查询 kk

输出格式

mm 行,每行一个整数,依次为每次查询操作的结果。

5 10
1 4 2 5
1 1 4 2
1 2 5 3
0 4 2 3
1 4 3 4
1 1 5 3
0 1 5 4
0 5 2 4
0 1 4 1
1 5 2 3

1
5
2
7
7
6
7
2
1
7

提示

Idea:nzhtl1477,Solution:ccz181078,Code:ccz181078,Data:ccz181078

本题采用子任务评测。

3131 个测试点,所有测试点满足 1n1051\le n\le 10^51m5×1051\le m\le 5\times 10^50o10\le o\le 11an1\le a\le n1bn1\le b \le n1kn1\le k\le nn,m,o,a,b,kn,m,o,a,b,k 均为整数;

测试点可能具有以下性质:

  • 性质1:操作使用以下策略随机生成,重复直到生成了 mm 行的操作序列:

  • [1,n][1,n] 中等概率选取三个整数 x,y,kx,y,k,若 x,yx,y 在不同的有根树上,则生成一行 1 x y k,否则若 xx 不是根,等概率地生成一行 0 x father(x) k0 father(x) x k 之一,否则不进行操作。

  • 性质2:m=n1m=n-1,且对 2in2\le i\le n,数据的第 ii 行为 1 a i k,其中 aa[1,i1][1,i-1] 中的整数等概率选取;

  • 性质3:m=n1m=n-1,且对 2in2\le i\le n,数据的第 ii 行为 1 i b k,其中 bb[1,i1][1,i-1] 中的整数等概率选取;

  • 其它对 n,mn,m 的限制。

每个测试点的性质如下:

第1个测试点,n=10,  m=50n=10,\;m=50,满足性质1,共10分;

第2个测试点,n=100,  m=500n=100,\;m=500,满足性质1,共10分;

第3个测试点,n=1000,  m=5000n=1000,\;m=5000,满足性质1,共10分;

第4个测试点,满足性质2,共15分;

第5个测试点,满足性质3,共15分;

第6~10个测试点,满足性质1,共20分;

第11~31个测试点没有特殊限制,共20分。