树链剖分 考虑只枚举和父亲、重儿子的边,还差所有轻儿子的贡献。于是修改的时候,往根跳,在轻重链交替的时候往轻边父亲打标记即可根。 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N = 1e6 + 10; #define fi first #define se second #define pb push_back int n; int siz[N],fa[N],son[N],a[N],cnt,to[N],de[N]; vector<pair<int,int&g...