最短距离
陈末iiiiiiiiiiii
Retired
展开
-
Codeforces Round #605 (Div. 3) E 多源BFS 超级源点
题目 给你一个长度为N的数组A,Ai有自己的奇偶性,但是他能和 i- a[i] 和i + a[i] 的地方互换。但是需要一次操作数。 要求求出所有元素交换出相反的奇偶性所需的最小操作数。 如果不能输出-1。 题解思路 一开始DFSWa了。应该是因为什么环的更新顺序问题。我也不太清楚。 建立两个超级奇数点和超级偶数点。0费用连通奇数偶数点。 跑BFS就行了。 因为可能有环,所有我们需要保证奇数或者偶数点只由超级奇数或者超级偶数点延申。特判即可。 AC代码 #include <bits/stdc++.h&原创 2021-12-31 11:31:02 · 521 阅读 · 0 评论 -
HDU1599 find the mincost route(floyd (n^3未优化) 最小环 无向图)图论 最短路径
题目 题目地址 题解思路 一开始想DFS爆搜,结果一样TLE。后来不断看博客和视频,才明白这是最小环和最短路径一起的问题。花的钱就是路径长度一样的概念,图是连通图,注意看题目,解析看核心代码或者视频。 视频地址 核心代码 先将图导入二维数组,再建一个由Floyd优化的最短路数组。 将最小环放入断点K里面并且不能超过K,因为这样由小到大遍历我们必然能出结果。floryd放后面是因为先将K断开能求出此时最小环更新答案后再用k值去更新最短路。这样前面的最小环求法的路径是被前一个K优化了的。 void floy原创 2021-04-04 21:41:22 · 97 阅读 · 0 评论