随笔分类 - 算法
-
线段树
摘要:线段树 除了最后一层满二叉树,用堆(一维数组)来存树,一般来说,开4n的空间  #### build(int u, int l, int r) 将一段区间初始化为线段树 #### push up() 由子节点更新父节 阅读全文
-
树上dp
摘要:树上dp ##### 树的存储 邻接表:将这个点的所有直接子节点存储在以这个点为开头的链表上 https://oi-wiki.org/graph/save/#%E9%82%BB%E6%8E%A5%E8%A1%A8 ```cpp void add(int u,int v)// 添加一条边u->v { 阅读全文
-
二分模板
摘要:``` int find(int q) {//可行区间在左边 //查找最后一个小于等于q的数的下标 int l=0,r=n+1;//开区间 while(l+1>1; if(a[mid]>1; if(a[mid]>=q)r=mid; else l=mid; } return r; } ``` 阅读全文
浙公网安备 33010602011771号