摘要: 树链剖分 题目传送门 sb错误 if(to == son[to]||to == fath) continue; 1.好习惯 代码模块化 namespace ****(变量名){ 自己写各种函数 } 2.树链剖分 建树存图(略) 大法师1 siz >当前链上有几个点 fath >父节点 dep >节点 阅读全文
posted @ 2020-11-01 21:33 Imy_bisLy 阅读(186) 评论(4) 推荐(0) 编辑
摘要: 对应线段树,补一下树状数组的笔记 某乎上写的不错的树状数组 1.树状数组原理 蓝线为+ lowbit 绿线为-lowbit 树状数组最重要的原理 树状数组本质上是前缀和(差分)之类的巴拉巴拉 2.lowbit 不理解,背过吧.... int lowbit(int x){ return x&(-x); 阅读全文
posted @ 2020-11-01 21:31 Imy_bisLy 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 线段树的性质 1.定义时要开4倍空间 struct tree{ long long lazy,s; long long maxx,minn; }t[N<<2]; 注意别 <<4 容易 MLE 是<<2 4倍空间原因 2.左右儿子 ll ls(ll p){ return p<<1;} ll rs(ll 阅读全文
posted @ 2020-11-01 21:30 Imy_bisLy 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 强联通分量 OI-wiki 割点 割点: 当把强联通分量里面的的一个点删掉以后发现强联通分量的数目增加了,那么就说这个点是割点(割顶) 看到这个要求的时候,第一反应是枚举每一个强联通分量然后判断去掉这个点后强联通分量然后就会发现这个复杂度是上天的强联通分量的时间复杂度是O(n+m)的 如果按照这种想 阅读全文
posted @ 2020-11-01 21:28 Imy_bisLy 阅读(139) 评论(0) 推荐(0) 编辑