![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
Speedcell
这个作者很懒,什么都没留下…
展开
-
HDU 3790 最短路径问题
静态邻接表+SPFA,不解释写得不好,大牛误喷#include#includeusing namespace std;#define NODE 1012#define EDGE 100012 long long n,m,a,b,c,d,s,t;#ifndef _AdjList_typedef long long EleType;struct node{ i原创 2011-09-16 00:06:59 · 452 阅读 · 0 评论 -
HOJ 12722 Horror List
广义源点的最短路……/* Author : Speedcell Update : 2013-10-08Version : soppYcell 2.3*/#include #include #include #include #include #include #include #include #include #include #include #in原创 2013-10-10 16:43:59 · 368 阅读 · 0 评论 -
HOJ 12719 Eco-driving
二分最大转角,大于当前最大转角的就不转跑SPFA看能不能到,由于只看能不能,所以一旦搜到重点就可以结束了。加了SLF优化,测试发现deque这样写效率还是挺高的……/* Author : Speedcell Update : 2013-10-08Version : soppYcell 2.3*/#include #include #include #include #i原创 2013-10-08 23:24:52 · 412 阅读 · 0 评论 -
Aizu 2447 A Two Floors Dungeon
状态是[x坐标][y坐标][一楼还是二楼][转换器按动次数的状态],然后就没有然后了,switcher那里从map改成bool数组居然就从28s变成4s(HOJ大数据下),好可怕……/* Author : Speedcell Update : 2013-05-30Version : soppYcell 2.2(a)*/#include #include #include原创 2013-10-08 23:18:58 · 469 阅读 · 0 评论 -
POJ 1556 The Doors
线段与线段判相交,然后建图搞SPFA完事……好久没写代码觉得这题都写得异常蛋疼……#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2013-01-19 00:03:57 · 271 阅读 · 0 评论 -
HDU 1599 find the mincost route
找无向图最小环,学习了……Floyd,其实是枚举中间点来更新其他点对之间的距离,所以只需要把中间点当做是A点即可,由于i#include #include #include #include #include #include #include #include #include #include #include #include #include #in原创 2012-08-24 18:27:39 · 602 阅读 · 0 评论 -
HDU 1595 find the longest of the shortest
很容易可以想到,需要去除的边必然在最短路上,因为如果不在最短路上那么对最短路根本没影响,结果肯定不变。所以分别记录前驱点边标号,从终点回退到起点的过程中每次删一条边求最短路。自认为复杂度还是有点高,求更优做法。#include #include #include #include #include #include #include #include #include原创 2012-08-24 15:17:23 · 487 阅读 · 0 评论 -
HDU 3986 Harry Potter and the Final Battle
跟HDU-1595完全一样,稍改一下输出就好了……#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2012-08-24 15:28:12 · 364 阅读 · 0 评论 -
HDU 3339 In Action
无限辆坦克在0点,告诉你通向N个电站的路径,和N个电站分别的电力供应值,求占领一半以上电力供应所需的最少时间。因为每辆坦克只能占领一个电站,并且占领该电站的收益是确定的,再有SPFA可以求得占领每个电站的代价。由此转化为01背包。#include #include #include #include #include #include #include #include原创 2012-08-24 10:39:53 · 514 阅读 · 0 评论 -
HDU 1839 Delay Constrained Maximum Capacity Path
目测二分正确是因为容量限制越大可选的边就越少,酱紫满足一个大概的单调性,然后去二分得到结果……#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include原创 2012-08-29 14:57:26 · 478 阅读 · 0 评论 -
HDU 1535 Invitation Cards
求min(sum(from all to 1)+sum(from 1 to all)),按教主的话来说就是全源最小往返距离和。建图的方式多少还算可取吧,把边都放在一个邻接表内。#include #include #include #include #include #include #include #include #include #include #incl原创 2012-08-19 17:44:36 · 493 阅读 · 0 评论 -
HDU 1317 XYZZY
给有向图,赋点权,问能否找到一条从起点到终点的路,让路上每一个点的权值都为正数。典型需要判断环,SPFA判环加个入队次数记录就好了,但这题有trick,目测可能出现环,但是环并不出现在起点到终点的路上。所以采取以下处理:发现环以后,对所有能到达环的距离修改为无穷大,并且该点不再入队。#include #include #include #include #include #原创 2012-08-19 17:22:55 · 828 阅读 · 0 评论 -
SPFA水题六枚
HDU 1548纯水,无需建图,每个点最多只有两条边……const int MAXV = 240;bool inQ[MAXV];int n,src,des,a[MAXV],dis[MAXV],Q[MAXV];bool within(int v,int n){ return 0<=v&&v<n;}int SPFA(int src,int des){ in原创 2012-08-14 20:40:14 · 567 阅读 · 0 评论 -
HDU 1245 Saving James Bond
没什么意思这题,细节处理上比较麻烦,总结几点:1、凡是给坐标多加一个范围判断,因为不知道给的坐标是不是在[-50,-50]-[50,50]的范围内。2、建图的时候注意那些不直接相关的点,比如此题有从中间岛上直接跳出去的情况。对点进行分类,类间关系再建图。#include #include #include #include #include #include #inclu原创 2012-08-16 10:57:44 · 532 阅读 · 0 评论 -
HDU 1595 find the longest of the shortest
就是简单求以下这个式子,所以直接按照公式枚举就好了。 maxe∈path(sp(V,E))sp(V,E/{e})\underset{e\in path(sp(V, E))}{\max} sp(V, E/\{e\})#include <iostream>#include <cstdio>#include <cstring>#include <numeric>#include <algorit原创 2015-10-01 02:10:27 · 242 阅读 · 0 评论