图论-最短路
文章平均质量分 72
KIJamesQi
这个作者很懒,什么都没留下…
展开
-
LOJ1099来回次短路
思路:求从S->T的次短路,不同的是,每条路是可以重复走的;那么在更新的时候就要注意下了;可以设dis[i][0] 是S->i 的当前最短路,dis[i][1]是S->i的当前次短路;然后用优先队列维护这个性质;typedef pair ii;queue que;//小的优先node u = que.top();que.pop();u.first + w 可以更新S->i的原创 2015-09-09 22:31:05 · 469 阅读 · 0 评论 -
Gym 100851F Froggy Ford(dijkstra)
题意有条宽为w的河流,两岸分别在x = 0, x = w处,河中间有n个石板。在河的一岸有一只青蛙想通过石板跳到对岸去。现在可以在河中间某个位置多加一块石板,使得在单步跳跃中的最大值最小。思路Dijkstra变形,用两维来表示是否路径中使用过额外的石板。dis[0][u]表示没使用额外石板的最大最小,dis[1][u]表示使用额外石板的最大最小。然后就用Dijkstra格式进行转移了。/**原创 2016-08-15 21:35:54 · 917 阅读 · 0 评论 -
hdu3191 How Many Paths Are There(次短路计数dp)
次短路好算,这题多了个计数; dp[u][1],dis[u][1]分别表示到u最短的路径条数和最短路的长度; dp[u][2],dis[u][2]分别表示到u次短的路径条数和次短路的长度; if (dis[u][kind] + cost[u][v] < dis[v][1]) 表示可以更新最短,那么同时次短也会被原来的最短所更新掉,产生了两个新状态,都要添加到队列中。 else if (原创 2016-07-08 12:14:05 · 674 阅读 · 0 评论 -
lightoj1321Sending Packets
传送门题意一个大小为s的数据包需要在一张图上从0点传送到n-1点去,每条边有个传输成功的概率p<u,v> = p<v, u>。开始是先传送1的数据,如果成功到达n-1点的话,那么这条路就同了,剩下的数据就可以一直用这条路径来传递而且成功率为1.0。如果没能成功到达,就继续传送1的数据,直到成功为止。求最小传输完的时间期望。分析只要成功传输一次,剩下的就能快速传输,不计时间。那么求最原创 2016-06-09 23:08:55 · 594 阅读 · 0 评论 -
uva10816 Travel in Desert(MST + 最短路)
题意:一群人在沙漠中,给定了n个点,m条路,双向的。每条路有一定的长度且路上的温度也不一样。现在这群人想从s到t去,要使路径中的最高温度最低,有多条路径的情况下选择路程最短的,输出路径,最高温度,路程。思路:算是一道考验代码的图论题,并不是很难。可以想到最高温度最低,就用贪心(MST)直到s,t连通和保留温度t相同的边。 然后在这些边上做最短路并保存路径打印出来。/****************原创 2016-05-14 11:12:14 · 398 阅读 · 0 评论 -
hdu3416Marriage Match IV
图示有向的,A->B,每条路只能走一次,而且由于时间关系只能走最短的路径,点是可以多次经过的。求最多有多少条不同的枯井从A到B。抛开最后那个条件,其实就是最大流,加上条件之后呢就是先正反个求一遍最短路,然后枚举边,如果该边是最短路径上面的就添加到网络流的图中去,容量为1。/*****************************************Author :Craz原创 2016-02-23 14:59:00 · 313 阅读 · 0 评论 -
lightoj 1316 - A Wedding Party
题目链接:http://lightoj.com/volume_showproblem.php?problem=1316分析分析:大意就是一个人要从0点走到n-1点,路中有些点有商店可以买礼物,所以这个人想买多点礼物,但是又要尽快的走到n-1点,这两者之间呢,礼物的多少优先,其次是路程长度。s 所以dp[statu][i]statu状态走完后停留在第i个商店,位置时shop[i]。然后转原创 2016-01-25 17:43:14 · 615 阅读 · 0 评论 -
lightoj 1281 - New Traffic System
题目链接:http://lightoj.com/volume_showproblem.php?problem=1281题目给出n个城市m条已存在的道路,以及通过该道路需要的时间,然后就是k条可以修建的,但是由于预算的问题,最多只能修建d条道路,问这种情况下从1到n-1的最小时间花费。不知道是被题目还是被自己逗了,,,真心没有读出来是单向边,wa得我都怀疑人生了。。。。/********原创 2016-01-23 10:40:30 · 567 阅读 · 0 评论 -
lightoj 1254 - Prison Break
题目链接:http://lightoj.com/volume_showproblem.php?problem=1254分析题意:说的是个凡人的逃跑,有辆汽车,其邮箱容量是cap这个就是多状态的最短路,据基础题。设定状态dis[u][r]表示到达u点汽车剩余油量为r时的最小费用。在就是对于每个城市要存的数据的,剩余油量,及对应的花费,然后就是点的标号。(i,j,k),优先队列中以费用小的原创 2016-01-22 17:32:54 · 752 阅读 · 0 评论 -
uva11721 Instant View of Big Bang
题意:大意就是有很多虫洞,他们之间存在有向通道,可能把时间提前,也可能往后,,,一个科学家想要回到很早很早之前,,,问从那些冲动出发可以满足条件。显然要回到很久以前必然要到达某个负环,首先要找到负环,然后再找哪些冲动可以到达这个负环,,,这题最大的难点就是建图,对于负环而言,无论是反向建边还是正向建边,,这个不影响,,,如果反向建边,,,,那么就可以从找点到负环变成了负环可达的问题了,,,这样一来原创 2015-11-24 19:43:44 · 415 阅读 · 0 评论 -
uva10917.cppWalk Through the Forest
思路:按照题目的意思见图,然后就是DAG图上的记忆化搜索。// #pragma comment(linker, "/STACK:1024000000,1024000000")#include #include #include #include #include #include #include #include #include #include #include原创 2015-11-13 19:32:41 · 335 阅读 · 0 评论 -
cf400D
// #pragma comment(linker, "/STACK:1024000000,1024000000")#include #include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2015-11-04 22:02:02 · 420 阅读 · 0 评论 -
LOJ1379限制性最路算法应用
思路:题目求的是从S->T的路径中权值小于给定P值的最大值;这样的话我们就只能枚举假定必经过的边(枚举),此时就是ans = disa> + w + disT> 设纪录最终结果的变量是rec,如果rec 这里disa>显然由正向的单源最短路,那么disT>就是反向的单源最短路;题目链接原创 2015-09-09 22:18:05 · 343 阅读 · 0 评论 -
uva10246最短路 + 枚举 + 数组记忆
思路:spfa求出每个点到其余顶点的最短路(最短路上的每个点的val都小于等于起点的val),然后又二维数组dp来保存,最后询问的时候就是枚举中间点i了,min{dp[i][u]+dp[i][v]+cost[i]};题目链接/*****************************************Author :Crazy_AC(JamesQi)Time原创 2015-09-09 22:47:49 · 449 阅读 · 0 评论 -
LOJ1002可达路径中的最大中的最小边权
思路:这个就像是dp的概念了,只是用了SPFA的结构形式;这时的dis数组的定义就要改变了,变成S->i当前可达路径中的最大中的最小边权;更新条件就变成了 if (max(dis[u],w) 题目链接/*****************************************Author :Crazy_AC(JamesQi)Time :Fi原创 2015-09-09 22:40:45 · 1727 阅读 · 0 评论 -
csu1808 地铁(最短路)
一个城市中有n个站m条线路(指直接相连接u-v),也就是和城市地铁一样,在某个站换线需要花额外的时间,求1号站到n号站的最短时间消耗。 猛的一看就是普通的最短路问题,但是实际需要改变很多,不能单纯的按照原来的方式求解dis[v]表示到v的最小时间花费。 因为你无法知道这个最小值是由哪条线路过来的,会直接影响后面的换线时间消耗。所以我们纪录走i号线到v的最小时间, 这样就能明白起最小原创 2016-09-06 09:52:05 · 763 阅读 · 0 评论