CF938D题解
Description:
给定一个 个点的无向图 和数组 ,对于每个 ,求出 。
因为题目把所有路径长度乘了个 ,所以下文的讲述中默认将边权 。
如果我只做一个点,那显然直接跑最短路算法即可。
但是我有 个点,显然不能一个一个做所以考虑建立一个超级源点,指向每一个点,边权为 。这样我们就顺带搞定了最后加上 这个要求。
因为路是双向的,所以从 到 可以转化为从 到 ,这样我们可以发现取点对 其实就是从超级源点走到 然后从 走到 。那就是从超级源点走到 。这样我们就证明了 。这样,我们就把问题转化为了从超级源点走到 的最短路问题。于是这个题就做完了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】