随便地点开了这道可持久化并查集,发现了真相...这和并查集有 PI 关系哦.除了find_father(而且还不能路径压缩),全都是线段树0.0 题目链接: luogu.org 题目没什么描述,就是三个操作: 1. 合并 a b 2. 回到第 k 步操作(三个操作均算操作) 3. 查询 a b 在当前版本的并查集中是否在同一棵树中 那么... 对于操作 1 :我们在线段树中修改节点 fa 的父亲为 fb 对于操作 2 :简单,我们直接把当前版本的根指向第 k 版本的根,一行就解决了(引起可持久化…
因为题中的操作是区间加法,所以满足前缀相减性. 而每一次查询的时候还是单点查询,所以直接用可持久化线段树维护差分数组,然后查一个前缀和就行了. code: #include <bits/stdc++.h> #define N 200004 #define LL long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n,m,q,tot,rt[N]; LL…