2026.3.21 NOI 模拟赛

城市建设问题

题目大意:

有一个 \(n\) 个点 \(m\) 条边的无向带权图,再给定你一个 \(s\),询问满足 \(0 \le a_{i} \le s\)\(\sum a_{i} \le s\) 条件的 \(f(a)\) 最大值。
\(f(a) = \sum_{i = 1}^{m} w_{i} \times min(u_{i}, v_{i})\)
\(n \le 20, s \le 10^5\)

解题思路:

考虑这个东西,我们看到 \(min(u_{i},v_{i})\) 自然想到将 \(x\) 从大到小加入,这意味着我们可以每次将若干个点的点权 \(+1\),然后对答案的贡献多生成子图边权和的贡献。
如果这样直接做的话,高时间复杂度时避免不了的。

考虑这个有什么性质,注意到每次加的点一定是上次的一个

posted @ 2026-03-29 23:26  positive_deviation  阅读(2)  评论(0)    收藏  举报