【luogu AT2230】Water Distribution(状压DP)(最小生成树)
Water Distribution
题目链接:luogu AT2230
题目大意
给你一个二维平面上的一些点,每个点有初始水量。
然后你可以两个点之间运水,水量没有上限,但是每次运水会损失掉两点距离长度的水。
然后要你通过操作使得所有点的水量的最小值最大。
思路
有个地方很卡精度我不说是谁。
考虑有一些性质,首先发现答案一定是可以被分成若干个连通块,每个连通块之间补水。
然后就会有一个显然的性质是补水的通道一定组成生成树,毕竟出现环一定有一边不优(一样那也无所谓)。
那再有这个边肯定是只有一边走的(总不可能运过去发现没用运回来吧)
所以这个连通块稳定下来之后,每个点的水量是固定的:
(三个东西分别是点权和,最小生成树边权和,连通块点数)
然后至于若干个集合之间肯定取最小的作为答案,你就状压 DP 一下就可以了。
(然后 luogu 小卡精度,反正我要 long double)
代码
__EOF__

本文作者:あおいSakura
本文链接:https://www.cnblogs.com/Sakura-TJH/p/luogu_AT2230.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Sakura-TJH/p/luogu_AT2230.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现