摘要:
最大流问题 有向图 G 中,有两个特殊的点,源点和汇点,每条边有指定的容量,求S到T的最大流。 就像从源点放水,水量无穷大,汇点的水量是多少? 定义 c为容量,f为流量 流量守恒 \(f(x,y)\leq c(x,y)\) 容量性质 \(\sum f(u,x) = \sum f(x,u)\) 斜对称 阅读全文
posted @ 2024-02-04 12:41
妖灵梦
阅读(36)
评论(0)
推荐(0)
摘要:
CDQ分治 引入 偏序问题 对于每个有序对 \((a_i,b_i)\) 求有多少个有序对 \((a_j,a_j)\) \(a_i<a_j,b_i<b_j\) 暴力 \(O(n^2)\) 按 \(a\) 排序,问题为求顺序对,cdq分治 定义 解决特定种类问题的算法,统计左区间对右区间的贡献,一个点所 阅读全文
posted @ 2024-02-04 12:41
妖灵梦
阅读(9)
评论(0)
推荐(0)
摘要:
点分治 定义 树上的分治 先求一个点的答案,然后求子树 树上距离小于等于k的点对数量 枚举一个点 p 求解经过p的点对贡献,然后递归解决子树 为了降低分治复杂度,要求重心,求重心要限定子树范围内,添加 vis 防止上访,求dis也要 ans要减去在同一个子树 重心的子树小于 \(n/2\),所以调用 阅读全文
posted @ 2024-02-04 12:40
妖灵梦
阅读(16)
评论(0)
推荐(0)
摘要:
启发式合并 定义 在并查集和树上处理离线问题的算法,主要思想是把小集合并到大集合上 做法 树上颜色:一棵树,每个节点都有一个颜色,给定 m 次询问,问以 x 为根的子树有多少种不同的颜色。 轻重剖分,只需要记录重儿子即可。先遍历轻儿子,不计修改。再遍历重儿子,计入修改。最后再遍历轻儿子(dfs序列简 阅读全文
posted @ 2024-02-04 12:39
妖灵梦
阅读(17)
评论(0)
推荐(0)
摘要:
主席树 定义 可持久化的线段树 实现 void mkrt(int &p,int q){ int tmp = mknode(); t[tmp] = t[q]; p = tmp; } void pushup(int p){ t[p].dat = t[t[p].ls].dat+t[t[p].rs].dat 阅读全文
posted @ 2024-02-04 12:39
妖灵梦
阅读(17)
评论(0)
推荐(0)

浙公网安备 33010602011771号