[熵值] 解题报告

化简题意:平面上 \(n\) 个点,每个点有权值,可以进行若干次偏移操作,一个点减去若干权值,另一个点加上,但是会损失它们之间的欧几里得距离那么多权值,然后求最大的最小权。

Observation 1

由于平面上任意两点之间线段最短,不存在 \(a\to b\to c\) 的情况。

Observation 2

如果选择了一条偏移路径,那么一定是能偏移就尽可能偏移。

Observatoin 3

进行二分答案,发现会变成一个二分图,左边是比 \(mid\) 小的,右边是比 \(mid\) 大的。
如果进行操作,那么整个二分图不能存在环,否则不符合 Observation 2

Observation 4

由前 \(3\) 个观察得知,最优解是一棵最小生成树,由于 \(n\le 16\),不难想到状压 dp,生成树最小值是 \(\lfloor\dfrac{\sum w_i-\sum v_i}{L}\rfloor\) 就是点权和减边权,构造像二分答案那样就行。

因此,使用状压 dp 处理出每个子树的最大权值,时间复杂度 \(O(2^n\times n^2)\)。但是最后求的是最小生成森林,还需要枚举一次子集,时间复杂度 \(O(3^n)\)

posted @ 2024-10-18 08:18  g1ove  阅读(9)  评论(0编辑  收藏  举报