Day44~45 图论回顾
P6628 [省选联考 2020 B 卷] 丁香之路
枚举每个终点,先向 \(s\) 额外加一条边,就等价于求最小的欧拉回路。(根据图的性质,不走重复路一定更优)
刚开始的 \(m\) 条边必定会组成一系列的连通块,我们还要加边使之联通。
又要满足无向图欧拉回路的性质。也就是每个点的度数为偶数。
你考虑直接 \(1\sim n\) 枚举,将 2 个奇数度数的点中间连边抵消即可。(这里是拆成 dis 条边作为最优方案的)
最后这个图仍然不是联通的。。。
搞错了,再来!
我们上面的操作是使得每个连通块内部变成欧拉回路,然后用 mst 使得这些欧拉回路的连通块联通。
P10777 BZOJ3706 反色刷
30 分钟才打出 60 分暴力,废了。
暴力显然,优化也显然,只是为什么花了 1 个小时???
因为图的结构是定的,所以你直接维护度数和黑边个数即可。
P4042 [AHOI2014/JSOI2014] 骑士游戏
有依赖的最短路。并且有环。
$dp(i) = \min(ki, \sum dp(to) + si) $
显然 dp 从小到大转移。我们先记录后面那种转移的 dp,直到被 \(ki\) 替换为止。
P3645 [APIO2015] 雅加达的摩天楼
感觉就是一个暴力啊。
状态应该就是第几个 doge 在几号楼。
(i, j) 在 i 位置的 doge 跳跃能力为 j。
看上去状态数是 n^2。
对于 j > \sqrt n,这个 doge 只能跳根号个位置。
P6880 [JOI 2020 Final] 摩天大楼
最短路树很容易想到,那是不是直接对 n 条边暴力重新计算就可以了。
如果不在树上,可能产生影响,但是路径已经确定了,不用重新算了。
Nastia Plays with a Tree
当时调了一个晚上。
首先看构造方案,最终的链一定有一个位置不在叶子上(不一定是顶点,是最浅的位置),直接减去那个点的父亲边。
对于剩下的要连接的边,记录一下每条链的两个端点,直接连接就可以。
dp 也是显然的。
Directed Tree
费用延后计算?
就是你到 \(x\) 的时候才计算儿子里面有多少个点经过 \(x\)。
显然这是一个合并类型背包,最后容斥一下就可以了。
Black, White and Grey Tree
这个题相当于是把灰色的点给缩了。然后我们 dp(x, i) 中 i 就是剩下的颜色。
转移真的非常显然。
Logical Operations on Tree
优先合并 1,免得变成 0 了。
\(dp(x,i)\) 表示合并完 \(x\) 的子树答案为 \(i\)。如果这个时候父亲边是 or,\(i=1\),那么直接就完了。
这就是 or 存在的意义。
[JOISC2020] 治疗计划
最短路建模没什么含金量。注意边界、连续。
点权最短路:每个点只会松弛一次,即。
我先去做 fhq 了,今天的题到时候一遍交完就可以了。