摘要:
一类简单的树上找最小连通块问题 问题描述 给定一棵 \(n\) 个点的树,边有边权,再给定若干个关键点,求最小的包含所有关键点的连通块的边权和。 解决方法 直接讲结论吧,首先 \(\rm dfs\) 得出树上所有点的 \(\rm dfs\) 序,不妨设将所有关键点按 \(\rm dfs\) 序排序后 阅读全文
摘要:
树形dp,一般指的是在树上的dp,一般情况下,树形dp完全没有重叠子问题,只是单纯地记录一个值罢了,但是我们还是习惯性地称它们为树形dp。 树形dp的状态设置都是很有套路的,在一般情况下我们都把状态设为 \(dp_{u,sta}\) ,表示考虑以 \(u\) 的根为子树,其余状态为 \(sta\) 阅读全文
摘要:
注:此处的树上差分可能和某些树上差分不太一样。 一次考试考了这样一道题目: 给出一棵有$n$个节点的树,边有长度,点有两种颜色,一开始全是白色。 有两个操作: 修改操作:给出一个修改节点$x$,将节点$x$染上黑色。 询问操作:给出一个询问节点$x$,记所有黑点形成的集合为$S$,求$\sum_{y 阅读全文
摘要:
看了半天的FFT,总算是看懂了? FFT(快速傅里叶变换)是用来解决多项式乘法的算法,时间复杂度为$O(nlog_2n)$。 多项式的系数表示法和点值表示法 如何可以准确地表达一个$n$次的多项式?一种方法是系数表示法,直接给出$n+1$项的系数;另一种方法是点值表示法,给出$n+1$个点,用这些点 阅读全文
摘要:
网络流是个很玄学的东西。 Part One 网络流费用流的算法 网络流常用的算法: FF 、 EK 、 Dinic 、 SAP (未掌握)、 ISAP (未掌握)、 HLPP (未掌握)。 费用流常用的算法: MCMF 、 zkw 费用流(未掌握)。 FF :添加反向边,相当于给程序一个反悔的机会( 阅读全文
摘要:
好久以前写的博客了,想了想还是搬过来吧。 学了好几天数据结构了,今天就来做个总结吧 一、并查集和堆 并查集 并查集,顾名思义,就是可并可查的集合 并查集,就是可以实现两个集合相并,查询两个元素是否在同一集合的一种数据结构 然后并查集的查找一般是这样的: int find(int x){ return 阅读全文
摘要:
好久以前写的博客了,想了想还是搬过来吧。 这只是一篇很水的文章而已…… 关于动态规划转移方面的优化,可能要用到以下数据结构: 单调队列 树状数组 线段树 ST表 堆 平衡树 ...... 例题一 这道题相当于区间覆盖问题的加强版,区间覆盖问题中每个可选区间的权值都是1,而这道题的权值则可能不一。 我 阅读全文