
最短路
林黛玉倒拔垂杨柳
你我最后也平凡到自命不凡
展开
-
PAT1018 公共自行车管理 (图论/最短路dijkstra变形/贪心/dfs)
公共自行车管理 题目大意: 每个结点中自行车存放的数量小于C/2向下取整的话就加到C/2,大于C/2向下取整的话就减到C/2 给一个起点(0),给一个终点(S)然后有三个条件 首先要路径最短 在此基础上最初带去的自行车越少越好 在此在此基础上最终带回来的自行车越少越好 解题思路: 首先跑一下最短路dijkstra是没问题的,但是这个只能筛选出满足第一个条件的路径,所以要变形一下,记录一下从起点(0)到各个点的最短距离dist[i] ,然后如果dist[i]+g[i][s] (i到S(终点)的距离)原创 2020-08-07 00:07:50 · 206 阅读 · 0 评论 -
牛客OI周赛5-提高组 wpy的请求 (spfa变形求负权通路)
wpy的请求 spfa变形 题目大意:给一个n个点,m条边的有向图,可能有负权边,现在要把负边权都变成非负, 并且使得原图中的任意两点u,v最短路经过路径不变并且使得原图中的任意两点u,v最短路经过路径不变 解题思路:解法就是建立一个超级原点(也就是0节点),与所有点相连,且边权值为0,然后跑一遍spfa(),然后边权答案就是 dis[u]-dis[v]+w。 这是因为spfa的松弛操作的条件是 dis[v]>dis[u]+w 所以松弛后 dis[u]-dis[v]+w>=0 是一定成立的, 所原创 2020-07-30 10:08:24 · 280 阅读 · 1 评论