[熵值] 解题报告
化简题意:平面上 \(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)\)。