
Dijkstra(点对点)
eIectron
优美的代码是成功AC的第一步。看着那么多博客不再更新,这就是我几年后的状态吗?要是走了就再也不回来了。
展开
-
POJ2263 Heavy Cargo用最短路得到最大流
Heavy CargoTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 4380 Accepted: 2288DescriptionBig Johnsson Trucks Inc. is a company specialized in manufact原创 2016-08-30 12:21:24 · 455 阅读 · 0 评论 -
[ZJOI2006]物流运输 (最短路+dp)
如果本题没有换线路要k的花费这个条件,很明显就是直接枚举天数,每次都跑一个最短路即可。但是现在有这个条件,我们就要加上dp的思想,来分段决策。解法:1.枚举起始天和终止天,然后排除这个范围内无法一直有效的点,跑一遍最短路,用cost[i][j]记录此时到达港口m的最小花费。2.进行一次dp,dp[i]代表的是第i天开始到第n天的最小花费,边界为dp[n + 1] = -k。然后从第n天原创 2017-09-26 18:42:15 · 307 阅读 · 0 评论 -
CodeFroces GYM 2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16) B.street(最短路)
http://codeforces.com/gym/101147/problem/B题意:从最下面到最上面,问非阴影部分的路径长度最短是多少。解法:把所有阴影块所给信息存起来,自己造贴着x轴的阴影块,然后sort一下,从最下面的阴影块往上遍历,每两个阴影块之间必有一条连线,分类讨论一下即可。建好完全图后跑dijkstra(我跑floyd超时了)即可得到答案。代码如下:#includ原创 2017-09-10 08:01:23 · 432 阅读 · 0 评论 -
2017 Bubble Cup X - Finals D. Exploration plan(最短路+二分+网络流)
比赛时候写不出来,因为发现费用流是无法求出每次的时间的,于是绝望中挂机。然后看了一发题解,大意就是:1.先每个点跑一次最短路,然后构出一个每个点到另外一个点的距离的图。2.然后二分时间,下界为0,上界为稍微大于所给时间的值。3.每次得到mid后建图,源点为0,N个队伍分别是1……N,源点向每个队伍连接一条流量为1的边,每个队伍所在的城市for一遍到其他城市的距离,如果小于等于mid原创 2017-09-04 10:06:21 · 500 阅读 · 0 评论 -
HDU 4725 The Shortest Path in Nya Graph(最短路)
点击打开链接出题人的英文太优秀了,题目好像什么都没说一样。看了别人的博客才明白,别人猜题意能力还是比我厉害太多了。题目也是错的。题意归结为(我还是不是很懂,用自己语言描述下):假设有一栋楼,有n层,相邻两层之间的移动的花费为c。然后又有n个节点,他们分别在li层。然后有m条特殊的路径,每条路经上u,v两点之间可以相互传送,花费为w。求节点1到节点n的最小花费。坑点1:如果两个节点在同一原创 2017-08-11 16:06:33 · 252 阅读 · 0 评论 -
HDU 3873 Invade the Mars (dijkstra变形)
http://acm.hdu.edu.cn/showproblem.php?pid=3873这道题题意很简单,就是有的城市保护着某些城市,如果要入侵一个被保护的城市,要先入侵保护他的所有城市。问1到n的最短距离。解法,用优先队列dijkstra跑。要注意的是建图的地方。对于保护城市的建图,我们采用先读入li[i],然后读入li[i]保护其的城市u,把i放入G[u]中。跑dijkst原创 2017-07-15 21:45:54 · 442 阅读 · 0 评论 -
HDU 5889 Barricade(最短路建图跑网络流)
这是一道玄学题目。跑最短路很简单,跑网络流也是模版而已。但是我跑完最短路后从n开始向前bfs找满足dis[u] == dis[v] + 1的边,然后加入网络流的图里面。这样做会TLE。然后想了好久实在不知道搞什么鬼,看了看别人代码,别人是直接把所有边for一遍,只要满足dis[u] + 1 == dis[v]的,都加入网络流里面。这样当然也可以,我改了改,15ms就过了。但是这bfs也原创 2017-08-10 10:34:14 · 262 阅读 · 0 评论 -
POI X Sums(同余最短路)
SumsMemory limit: 32 MBWe are given a set of positive integers . Consider a set of non-negative integers , such that a number belongs to if and only if is a sum of some elements from (the原创 2017-08-08 10:57:15 · 882 阅读 · 0 评论 -
2017年多校赛第四场 1005 Lazy Running(同余最短路)
点击打开链接题意很简单,就是给出一个距离k,你从2开始跑,可以在四条道路上随便跑,最终回到2,问最短距离是多少。这是一类经典的取模最短路的题目,在叉姐的网站上面就有这种类型题目的介绍,然而当时看不懂叉姐说啥,现在又有这种类型的题目,看了看别人的博客,觉得算是理解了。我们怎么考虑这个问题呢?首先,我们可以发现,你完全可以直接在1到2或者2到3的道路上来回多次,这样你最终一定可以回到2。我原创 2017-08-07 17:31:54 · 459 阅读 · 0 评论 -
2015年沈阳区域赛M题 Meeting(最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=5521题意很简单,给出一些路,然后一个人在位置1,一个人在位置n,问他们最快什么时候能相遇。并且输出相遇的地点。如果有多个相遇地点的答案,则全部输出。想法很容易想到,就是跑两遍最短路,然后两个dis比较即可。但是这题卡的是建图。如果直接用邻接表并且把集合里面的路径用n²方法求出放入邻接表,会MLE原创 2017-07-13 19:58:56 · 421 阅读 · 0 评论 -
POJ 3255 Roadblocks(次短路模板题)
http://poj.org/problem?id=3255写了还算多的最短路题目发现,没写过次短路。顺着挑战刷,就看到了次短路,然后发现一脸懵逼。其实理解了后发现超级简单。次短路,每个点都记录两个距离就好了,最短的和次短的。然后最后输出第n个点的次短的即可。代码如下:#include#include#include#include#includeusing name原创 2017-06-29 19:57:37 · 648 阅读 · 0 评论 -
POJ 3268 Silver Cow Party(Dijkstra)
Silver Cow PartyTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is go原创 2016-08-07 16:12:53 · 436 阅读 · 0 评论 -
HDU6026 Deleting Edges(Dijkstra)
http://acm.hdu.edu.cn/showproblem.php?pid=6026当时打重现赛的时候一直不懂题目到底什么意思,大概是快结束的前30分钟才看到了讨论里面有人解释6是怎么来的。题目大意:给出一个无向图,他们的距离就是输入的矩阵,而且0是当成不通来处理,这个距离只有0到9。现在,要保证从第一个点开始走到最后一个点,而且途中到每一个点的距离都要是最短的。问这样的路有多少条原创 2017-05-16 19:03:19 · 416 阅读 · 0 评论 -
ZOJ 2281 Way to Freedom(最短路变形-寻找最大流)+ POJ 1797
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2281这道题由于点数太多边数太多所以直接跑dijkstra会各种MLE,SPFA是肯定要挂的。所以因为只要找一种方案且是最优的条件,所以用优先队列或者堆优化即可。1,我们每次从队列取出边权最大的边,也就是now.point与他的前驱所连起来的边的边权最大原创 2017-04-05 13:18:43 · 431 阅读 · 0 评论 -
Codeforces Alpha Round #20 C. Dijkstra?(优先队列优化)
C. Dijkstra?time limit per test1 secondmemory limit per test64 megabytesinputstandard inputoutputstandard outputYou are given a weighted undirected graph. The v原创 2016-10-25 14:38:15 · 888 阅读 · 2 评论 -
POJ2502 subway(dijkstra以最短时间代替最短路)
L - SubwayTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 2502DescriptionYou have just moved from a quiet Waterloo neighbou原创 2016-09-03 10:21:51 · 2674 阅读 · 0 评论 -
POJ1062 昂贵的聘礼(dijkstra+等级约束时候松弛的判断)
M - 昂贵的聘礼Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 1062Description年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用1000原创 2016-09-13 13:39:50 · 617 阅读 · 0 评论 -
Wannafly挑战赛2 B-Travel(抽40个点跑最短路)
发现这道题真的挺难写的。。。如果单纯是个环,我们直接用前缀和就能求出两点之间的距离,现在额外添加了一些边。我们分情况讨论。1.只走环上的点,那么直接前缀和相减就能得到答案。2.走了传送门。从起点出发,那么可能先走a传送门,再走b传送门……最终到达终点。我们最后只需要在1得到的答案和2得到的答案中取min即可。1.很好解决,先处理出前缀和 和所有边的总和length,然后两个点的前缀原创 2018-05-08 10:31:36 · 333 阅读 · 0 评论