状压 DP 杂题

训练日记 · 2023-12-26 · 276 人浏览

Gym102341B Bulbasaur

首先最大流转最小割,其中割为割点。考虑固定右端点 $r$,$f_{s,i}$ 表示 $r$ 处只有只有 $s$ 中的点可以连通,左端点为 $i$ 的最小割。明显具有单调性,交换答案和状态。$f_{s,i}$ 表示最小割为 $i$ 的最右左端点 $i$。转移时取 $\max$ 即可。

Gym102900F Fountains

考虑确定了选择的 $k$ 个区间后怎么计算 $\sum\max$。将 $k$ 个区间按照区间和降序排序。每个区间 $(l,r)$ 都相当于给网格未染色的 $\forall (x,y) x\le l,y\ge r$ 染色。这个过程形成了一个优美的轮廓线。可以对它 DP。合法轮廓线的数量很少且难以编码,可以使用 $umap$。

CF1519F Chests and Keys

$\forall \sum_{i\in\mathrm{S}}{a_i}\le\sum_{j\in N(\mathrm{S})}{b_j}$ 一眼霍尔定理的样子。按照 $a,b$ 的大小拆成几个点之后,题目就是要找到一组完美匹配,最小化若 $a_i$ 和 $b_j$ 之间存在连边,$c_{i,j}$ 的和。$f_{i,s}$ 表示 $a$ 匹配完了前 $i$ 项,$b$ 的当前状态为 $s$,注意到 $a,b\le 4$,可以压成五进制,转移时可以对一个不定进制数枚举子集。

Theme Jasmine by Kent Liao