最、次、K短路
薄层
努力就有收获~
展开
-
SPOJ - CHICAGO 106 miles to Chicago(乘积最短路)
In the movie "Blues Brothers", the orphanage where Elwood and Jake were raised may be sold to the Board of Education if they do not pay 5000 dollars in taxes at the Cook County Assessor's Office in Chicago. After playing a gig in the Palace Hotel ballroom原创 2017-10-20 14:45:45 · 539 阅读 · 0 评论 -
Bellman-Ford算法(队列优化)
如果说Dijistra算法是通过点来对各个路径进行松弛的话,那么Bellman-ford是算法则是通过边来对进行松弛的。即枚举每一条边,然后比较源点到该边的终点的估计最短路径估计值和源点到该边的起点的最短路径估计值加上该边的长度,例如,已知源点到各个点的最短路径估计值dis[i]为 0 5 2 6 7,有一条边的信息为从点3到点4的长度为3,那么此时通过改变来进行松弛可以将dis[4] =原创 2017-03-06 23:19:01 · 998 阅读 · 2 评论 -
Dijkstra求最短路(邻接表存储,前向星存储,堆优化)
dijkstra算法主要用来求稀疏图的单源点最短路径,其核心是首先存储单源点到其它各点的路径,叫做估计最短径值,然后找出其中最短的一条路径,记录该点,那么此时该点的估计最短径值就变成了确定最短路径值。例如:这里同dis数组来记录单源点1到其它各点最短路径值,下标从1开始,最初其值为 0 5 1 3 4.此时得到dis[3] = 1为最小值,则可以确定源点到点3的最短路径,另外点3到点2有一...原创 2017-03-06 22:38:00 · 784 阅读 · 0 评论 -
Floyed-Warshall-求最短路
Floyed-Warshall算法是通过枚举每一个点,看能否通过此点来松弛边,即假设a点到b点最初为5,又已知a->c为2,c->b为1,那么此时就可以通过点c来松弛a->b的距离,松弛为3.采用邻接矩阵的形式存储边的信息,然后通过三个循环,第一层枚举所有点,第二层和第三层枚举边。于是得到:for(k = 1; k <= n; ++k) for(i = 1; i <= n; ++i原创 2017-03-06 22:35:16 · 601 阅读 · 0 评论 -
HDU 4725(最短路之建图难点)
题意:n个点,每个点属于特定一层,相邻的两层之间距离固定是c,另有额外m条边,然后求1到n的最短路径,没有则输出-1。思路:建图时出现了一点问题,SPFA和DJ都一直TLE,我原本的错误思路是:将每一层抽象出来,对应为n+1...n+n,然后读每个点所在层flo时,使i和第n+flo建边(双向边),然后通过一个vis数组标记第i层是否出现过,然后再对同时出现的相邻两层进行建边,本感觉思路恰好,原创 2017-05-22 16:57:02 · 471 阅读 · 1 评论 -
计蒜客复赛D题 百度地图导航
百度地图上有 nn 个城市,城市编号依次为 11 到 nn。地图中有若干个城市群,编号依次为 11 到 mm。每个城市群包含一个或多个城市;每个城市可能属于多个城市群,也可能不属于任何城市群。地图中有两类道路。第一类道路是 城市之间的快速路,两个城市 u,vu,v 之间增加一条距离为 cc 的边;第二类道路是城市群之间的高速路,连接两个城市群 a,ba,b,通过这条高速路,城市群 aa 里的每原创 2017-06-10 21:32:30 · 590 阅读 · 0 评论 -
HDU-5876 & SCU-4444 (完全图的最短路)
完全图求最短路(各边权值必须得相同),n稍大点边肯定就存不下了,这儿有一种bfs的做法:维护两个集合,st1代表当前点能够到达的所有点的集合,和st2代表不能到达的所有点的集合。BFS搜索,选取当前点,然后将所有与该点相连的点从st1中删去,并添加到st2。然后再拓展st1中的点,将之入队,并将st1和st2两个集合进行交换(因为已经拓展完的肯定就是最短的了嘛,只需要拓展没到达的)。原创 2017-06-18 18:18:21 · 1092 阅读 · 0 评论 -
Floyd 算法求多源最短路径-打印最短路径
通过一个nex数组来记录路径,nex[i][j]表示从i到j的最短路径从i开始走的第一个点。这样整个最短路径中的nex[i][j]都是这个含义,则就表示出了最短路径。#include using namespace std;const int maxn = 1005;int mp[maxn][maxn], nex[maxn][maxn];int n, m;void init(){原创 2017-07-11 17:15:28 · 2058 阅读 · 0 评论 -
POJ-2449 Remmarguts' Date(A*算法+SPFA求第K短路)
"Good man never makes girls wait or breaks an appointment!" said the mandarin duck father. Softly touching his little ducks' head, he told them a story. "Prince Remmarguts lives in his kingdom UDF – United Delta of Freedom. One day their neighboring coun原创 2017-07-12 00:25:16 · 582 阅读 · 0 评论 -
HDU-1688 Sightseeing(最短路+次短路)
Tour operator Your Personal Holiday organises guided bus trips across the Benelux. Every day the bus moves from one city S to another city F. On this way, the tourists in the bus can see the sights alongside the route travelled. Moreover, the bus makes a n原创 2017-07-13 23:06:54 · 485 阅读 · 0 评论 -
POJ-3255 Roadblocks(次短路)
Bessie has moved to a small farm and sometimes enjoys returning to visit one of her best friends. She does not want to get to her old home too quickly, because she likes the scenery along the way. She has decided to take the second-shortest rather than the原创 2017-07-13 23:45:36 · 599 阅读 · 0 评论 -
HDU-3191 How Many Paths Are There(有向图次短路条数)
oooccc1 is a Software Engineer who has to ride to the work place every Monday through Friday. For a long period, he went to office with the shortest path because he loves to sleep late…Time goes by, he find that he should have some changes as you could see原创 2017-07-14 17:25:06 · 373 阅读 · 0 评论 -
HDU-3416 Marriage Match IV(最短路+最大流)
Do not sincere non-interference。 Like that show, now starvae also take part in a show, but it take place between city A and B. Starvae is in city A and girls are in city B. Every time starvae can get to city B and make a data with a girl he likes. But the原创 2017-09-25 12:55:23 · 295 阅读 · 0 评论 -
HDU-6166 Senior Pan - 2017 Multi-University Training Contest - Team 9(最短路+二进制乱搞)
Senior Pan fails in his discrete math exam again. So he asks Master ZKC to give him graph theory problems everyday. The task is simple : ZKC will give Pan a directed graph every time, and selects some nodes from that graph, you can calculate the minimum d原创 2017-09-01 16:48:11 · 442 阅读 · 0 评论