分层图
Rem_Inory
这个作者很懒,什么都没留下…
展开
-
【题解】洛谷P2939 改造路(最短路 分层图)
因为有k条道路可以将权值变成0,所以我们可以构建分层图,读入边后循环k,将自己与下一层到达自己的点相连,到达自己的点与下一层自己所在的点相连,下一层的到达自己的点与自己两个点之间互相相连(注意这个是双向的)。然后就可以跑最短路,从1到(k+1)*n。这道题队列的spfa会TLE,所以我们可以进行堆优化,然后卡过去。#include<cstdio>#include<iost...原创 2018-08-18 21:23:01 · 994 阅读 · 0 评论 -
【题解】codevs 1391 伊吹萃香(分层图 最短路)
对于这道题我们可以利用分层图来解决。我们首先设点1~n为白洞,点n+1~2n为黑洞。首先对于每一个点,由于可以留在原地,而且过了一秒之后路另一端会变色,所以我们将自己所代表的白点与自己所代表的黑点连边,边权为零,意思就是在某个点为白洞时选择留在原地,不消耗体力。同样的,我们将自己所代表的黑点也就是n+i与自己所代表的白点连边,边权为读入的是停留的点为黑洞时所要消耗的体力。然后我们将读入的点连边...原创 2018-08-20 09:23:33 · 350 阅读 · 0 评论