AGC002D
_SeeleVollerei_ · · 题解
一个比较显然的思路是建出可持久化并查集同时维护 size,然后二分时间直接取出 size 判断即可。
但是发现这题每个版本只会衍生出一个新的版本,所以不用真的写个主席树去维护这个并查集。
考虑按秩合并,这种合并的方式发现每个点的 fa 数组只会有两个取值,一个是它自己,一个是它作为根被合并出去时的 fa,我们只需要顺便维护一下这个被合并的时间就行了。
考虑维护 size,发现每个时间只会更新一个根的 size,所以对每个点开个 vector 存下更新的时间和更新后的 size 即可。
每次询问外面有一层二分,并查集按秩合并和利用 vector 查询 size 都是
具体实现见代码。
https://atcoder.jp/contests/agc002/submissions/33327714