好题分享:luogu P5837 [USACO19DEC]Milk Pumping G
好题分享
luogu P5837 [USACO19DEC]Milk Pumping G
读完题后,人们会自然想到,这就是最短路板子题,只不过判断的条件改一下而已。但是自信一交,发现只得 20 p t s 20pts 20pts(特指 d i j dij dij堆优化)。此时,我们调试后发现,本题与正常的最短路有点不一样,那就是:一个点在被更新后,还能被再次更新!!!
也就是说,我们代码中 v i s vis vis数组的标记是毫无作用的。为什么会出现这种情况呢??因为本题中的“最短路”与两个值有关:价值(V)和花费(C)。但是,我们堆里面用于比较的,却只有他们的比值。
意思是:对于某一个点来说,它的 V ÷ C V \div C V÷C的值可能较大,就导致它会更早的去更新其他点。但是此时,被他更新的点不一定是最优解·。
这就是本题的坑点所在。具体见 c o d e : code: code:
__EOF__

本文链接:https://www.cnblogs.com/best-brain/p/18006575.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具