洛谷5292 [HNOI2019]校园旅行
Luogu LOJ 分析 orz myy 可以发现,一条回文路径左右扩展一个相同字符仍然是一条回文路径。 设 $f_{u, v}$ 表示 $(u, v)$ 间是否存在一条回文路径,转移枚举出边即可。这样子是 $\mathcal{O}(m^2)$ 的。 因为我们可以在一条边上反复横跳,所以直觉上这个东西只会和奇偶性有关。 对于连接同色点的边,我们对每个连通块单独考虑:如果构成二分图,则可以只保...
Luogu LOJ 分析 orz myy 可以发现,一条回文路径左右扩展一个相同字符仍然是一条回文路径。 设 $f_{u, v}$ 表示 $(u, v)$ 间是否存在一条回文路径,转移枚举出边即可。这样子是 $\mathcal{O}(m^2)$ 的。 因为我们可以在一条边上反复横跳,所以直觉上这个东西只会和奇偶性有关。 对于连接同色点的边,我们对每个连通块单独考虑:如果构成二分图,则可以只保...
先放一点上来,剩下的慢慢更。 ビルの飾り付け 4 / Building 4 不难想到一个 $\mathcal{O}(n^2)$ 的 DP:设 $f_{i, j, 0/1}$ 表示前 $i$ 个数选了 $j$ 个 A,最后一个是 A/B 是否可行,转移显然。最后逆序构造方案即可。 可以发现对于某个 $i, 0/1$,为真的 $j$ 一定是一段区间,因此我们只需要维护这段区间,即可去掉 $j$ ...
LOJ 分析 树相等于一个左部点是深度为奇数的点、右部点是深度为偶数的点的二分图。 首先需要在 $n-1$ 个点中选出 $k-1$ 个作为深度为奇数的点($1$ 的深度一定为奇数)。 将深度为奇数的点作为左部点、深度为偶数的点作为右部点,两部分间两两连边,则问题变为求生成树个数。 考虑 Prufer 序列,则左部点出现了 $n-k-1$ 次、右部点出现了 $k-1$ 次,故生成树个数为 $k...
LOJ 分析 考虑二分图。对于每一行、列被 # 隔开的每一段拿出来当做一个点,然后对于每个点从其所属的行连通块向列连通块连边。 但是每个连通块内可以放多个棋子。假设一个连通块内放了 $x$ 个棋子,那么会产生 $\frac{x(x-1)}{2}$ 的费用,我们要最小化费用。 考虑费用递增。由于 $\frac{(x+1)x}{2}-\frac{x(x-1)}{2}=x$,所以我们只需要连若干条...
Luogu LOJ 分析 设 $f(\alpha)$ 为正多边形旋转角度为 $\alpha$ 时的最短时间,容易发现 $f(\alpha)$ 是单谷的,因此可以三分 $\alpha$。 考虑如何计算 $f(\alpha)$。二分 $f(\alpha)$ 的值 $t$,如果某艘飞船在 $t$ 时间内能够到某个位置则它们可以匹配,判断是否存在完美匹配即可。 这样子可能过不了,考虑一些优化。我们预...
UOJ 分析 我们先假装原图是个二分图。 我们可以先想办法求出原图的一棵生成树,那么对其黑白染色即可求出答案。 一个暴力的做法是尝试删掉所有边,如果删掉某条边后连通性发生改变则这条边在生成树上,保留这条边,否则删掉这条边。这样子询问次数是 $\frac{n(n-1)}{2}$。 事实上我们可以每次二分下一条树边的位置:如果删掉 $[L,mid]$ 中的边后图仍连通则下一条树边在 $(mid,...
Luogu 分析 先考虑平面上的这种问题:平面上有一些方块,你每次可以覆盖长度为 $x$、宽度为 $y$ 的一个区域,代价是 $\min(x,y)$,求覆盖所有点的最小代价。 显然每次染一个 $1\times k$ 的区域是最优的。于是让每个方块的 $x$ 向 $y$ 连边,然后求二分图最小点覆盖即可。 现在把这个扩展到三维。 注意到一定有一维 $\leq\sqrt[3]{5000}$ 也...