题目链接 其实主要是想存一下我写的代码,以后当板子用了,毕竟敲一次线段树真心挺难的。 注意一点,我在写的时候检查了好几遍,线段树和树链剖分及一系列修改查询操作都对,为什么样例过不去,原来是我在建线段树的时候,是按照原来的输入顺序建立线段树,但原来输入的顺序在树上不一定连续,所以肯定会出错。 需要按照dfn的顺序去建树,将dfn与原数组进行映射,去建立线段树,因为dfn的顺序在树上是连续的可以用线段树进行区间管理,建立一个当前dfs序与对应节点编号的映射。 #include <bits/stdc++.h> #define int long long #define endl '\n'...