树
Mini无龙
C++,JAVA,windows 爱好者
展开
-
SP12005 题解(LCT)
LCT动态树 这是一道树链剖分的模板题, 但模板题肯定不能用模板来做呀( doge 所以这是一篇 LCT 的题解。 LCT 板子也没什么好说的,唯一注意的就是这道题维护的是边权。 那么在连接 uuu 和 vvv 时,就需要 多插入一个边权节点 $ n + i $ 来维护边权,还有 在 更新 sizesizesize 和 区间加的时候,需要判断此节点是否为边节点 ,不然就多加了。 $ update $要注意下 void update(int x){ a[x].sum = a[a[x].son[0]].sum原创 2022-04-21 08:02:41 · 109 阅读 · 0 评论 -
P1501 [国家集训队]Tree II 题解
动态树(LCT) 建议先做 模板题 本题就是个板子,唯一需要注意的地方就是懒标记,同时要维护乘法与加法的懒标记,如果不会维护双标记的话请先移步 线段树2 还有就是数据范围的问题, $ 51061^2 > 2^{31} $ , 所以需要开 $ unsigned $ $ int $ 或 $ long $ $ long $ 直接放代码吧 #include <bits/stdc++.h> #define int long long #define N (int)2e5 #define MOD 5原创 2022-04-06 20:37:41 · 725 阅读 · 0 评论