
最短路
文章平均质量分 59
空灰冰魂
=NULL
展开
-
结构体 ‘<’ 重载注意
struct Fiona{int f,v;Fiona(int a,int b):f(a),v(b){}bool operator {return a.f};应用于a.f原创 2014-08-25 20:16:34 · 1766 阅读 · 0 评论 -
【POJ3660】Cow Contest Floyd传递闭包
题意:n头牛有优劣关系,现在可以根据这些关系判定排名,求有多少头牛的排名是固定的。题解:我们可以用Floyd传递闭包,三层for循环后的代码为:map[i][j]|=(map[i][k]&map[k][j]);应该很好理解吧? 就是若有A个点能到某点,而此点又能到另B个点,那么若A+B==n-1(该点),则该点的排位确定,即前A个点之后,后B个点之前的这个唯一位置。好了,原创 2014-11-03 19:52:40 · 1125 阅读 · 0 评论 -
【POJ3615】Cow Hurdles 最短路,你若LCA,我仍不拦你。
NOIP2013货车运输,只不过数据范围小了许多。不到150s打完并且AC。。额,当然,我写的是Floyd。写LCA的真过分。#include #include #include #define N 305#define inf 0x3f3f3f3fusing namespace std;int n,m,q;int map[N][N];int main()原创 2014-11-03 16:50:57 · 1142 阅读 · 0 评论 -
【POJ2253】Frogger 最短路,你想写LCA我不拦你
题意:多组数据,0停止。给出n个点的坐标,然后使1到2!!!!!!是到2!!不是到n!!!的最长边边长最小,并求该长。题解:懒,所以直接写个一行floyd。#include #include #include #include #define N 505using namespace std;double map[N][N];int n,x[N],y[N];int main原创 2014-11-02 21:01:41 · 885 阅读 · 0 评论 -
【POJ3268】Silver Cow Party 最短路
题意:一堆奶牛去某个地方,去了又回,然后求去回和的最大值。题解:两遍最短路,结束,邻接矩阵存边可以避免建反图。#include #include #include #define N 1005#define inf 0x3f3f3f3fusing namespace std;int map[N][N],n,m,s;int dist1[N],dist2[N];bool v原创 2014-11-03 10:14:55 · 996 阅读 · 0 评论 -
【BZOJ2464】【中山市选2009】小明的游戏 最短路水过
题解:最短路pqspfa200ms,一眼题,另一种想出来没写的做法:二分答案,上界n+m时间复杂度O(n*m*log(n+m)),二分+深搜看能不能找到t最短路代码:#include #include #include #include #define N 505#define NN 251000#define inf 0x3f3f3f3fusing原创 2014-11-25 10:19:34 · 1804 阅读 · 0 评论 -
【BZOJ2007】【Noi2010】海拔 平面图最小割转最短路
题解:这个模型很水,不需要极角序神马转对偶图,直接乱搞就行。然后目的是把图割开,那么只需要跑S->T最短路就行。要做平面图转对偶图不妨去这篇。【BZOJ2965】保护古迹 平面图转对偶图,暴力,网络流还有就是某人说堆很快233,我弱弱的优先队列竟然,嘿嘿。@jiangyuze831BZOJ 2007 NOI 2010 海拔 平面图最小割->最短路SPFA原创 2015-01-29 22:05:14 · 1726 阅读 · 0 评论 -
【BZOJ1266】【AHOI2006】上学路线route 最短路建图转最小割
题解:首先那个裸的单源最短路过程就过了吧。然后说转的最小割。就是我们考虑到从源点到汇点有多条最短路,我们需要切断一些边,使得所有的最短路都被切断。首先这是个很裸的模型,切断?最小割!如果你想不到,那不妨这么想:我们切断所有最短路,那么每条最短路都有一个路径,上面有若干条边,那么我们需要至少切断其中的一部分。而所有的局部最短路都满足一个性质:就是从源点原创 2015-01-10 21:39:53 · 1239 阅读 · 0 评论 -
【BZOJ2115】【Wc2011】 Xor 线性基 异或最长路
题意:找一条异或最长路。题解:先随便来一条路径,然后我们发现这条路径上可以随便加简单环(不管有没有共点共边)、就是因为可以先从某点走到环上来一圈再走回来,这样来去的路径被搞没了,简直污得不行。然后我们可以用线性基来决定去异或哪些环。并没有错。算了来点干的吧,上面的都是在扯淡。SARFT Warning:5>>64=?5>>65=?原创 2015-02-02 16:48:10 · 1897 阅读 · 0 评论 -
【BZOJ3889】【Usaco2015 Jan】Cow Routing 双键值最短路
题意:从样例讲起。 第一行 s,t,m表示:起点,终点,m条航线。然后m组,每组第一行len,n表示这条航线的代价, 这类似于公交车,只要用了就花这些钱,但是用多少都这些钱。 注意是单向边。举例: 2333 4 3 2 1 4 就是3->2、3->1、3->4、2->1、2->4、1->4都花2333元。这个花销是第一键值。 第二键值是经过几站。比如3->2->原创 2015-03-04 19:18:23 · 1752 阅读 · 7 评论 -
【BZOJ1880】【Sdoi2009】Elaxia的路线 spfa+拓扑图求最长链
题意:无向连通图上,S→TS→T有若干条最短路,s→ts→t也有若干条最短路,搞出来两条最短路,要求重合的尽量长(可以方向不同)。题解:spfa处理出这四个点到每个点的最短路,然后枚举求哪些边既在S→TS→T某条最短路里,又在s−→ts-→t的某条最短路里,然后这是个拓扑图,跑最长链。 哎呀没什么可说的么,水题贴代码就好啦。代码:#include #include #原创 2015-03-22 14:10:50 · 1788 阅读 · 0 评论 -
【BZOJ1003】【ZJOI2006】物流运输trans 最短路预处理+动态规划
题解:首先我们跑出fi,jf_{i,j}表示i到j这些天都是相同路线的最小代价。 然后暴力维护gig_i表示前i天最小代价。fi,jf_{i,j}可以枚举i,ji,j,暴力处理哪些点不能用,然后跑最短路。 时间复杂度 暴力处理废点O(n3m)O(n^3m) SPFA 是O(n2spfa)O(n^2 spfa)大约O(n2m2)?O(n^2m^2)?反正能过。 然后暴力处理废点原创 2015-03-23 20:46:44 · 1970 阅读 · 0 评论 -
【POJ1797】Heavy Transportation 最短路
都别看,大水题。原创 2014-11-02 15:29:07 · 976 阅读 · 0 评论 -
【POJ3377】Ferry Lanes 最短路
我只是贴一下手写堆优化的dij模板,虽然,它,TLE了……****#include #include #include #include #define N 2001000#define inf 0x3f3f3f3f#define longlong intusing namespace std;struct Katarina{ int v,next; longlong l原创 2014-11-03 16:28:23 · 1752 阅读 · 1 评论 -
POJ2679 SPFA求负环
SPFA求负环注意事项复制去Google翻译翻译结果原创 2014-08-25 14:25:33 · 1466 阅读 · 0 评论 -
【BZOJ2763】【JLOI2011】飞行路线 分层图
所谓分层图就是有多维状态的有边长图,然后比起正常的最短路转移就是多了一种跨维度转移的状态转移。 一般都是舍去某边长度,最多舍多少次(次数较少)。详见代码。#include #include #include #include #define N 11000#define M 51000#define inf 0x3f3f3f3fusing namespace std;原创 2014-10-14 13:58:20 · 3273 阅读 · 0 评论 -
【POJ1125】Stockbroker Grapevine 最短路
题意:Floyd!!!直接说输入格式你们一定会做。就是说多组数据,然后每组先一个n,然后n行,一个数是有几条出边(单向边),然后每条出边俩数分别为点和边权。好了,现在求的是点x,使从x出发最远的点 最近,不懂直接看代码,风格良好!!!#include #include #include #define N 105#define inf 0x3f3f3f3fus原创 2014-11-01 21:41:43 · 897 阅读 · 0 评论 -
【BZOJ2662】【BeiJing wc2012】冻结 分层图 裸的!
我都不好意思发题解了,看这篇博吧。(飞行路线的,基本一样)http://blog.youkuaiyun.com/vmurder/article/details/40075989同学做了好久,我害怕题里有坑,又重写了一遍~~~7分钟,都不乐意测样例测点就A了啊哈。#include #include #include #include #define N 55#def原创 2014-10-14 17:12:17 · 2608 阅读 · 0 评论 -
【POJ1062】昂贵的聘礼 最短路 题目描述还有数据都坑爹
题意:中文题,这里只提供题目传送门 http://poj.org/problem?id=1062题解:首先若物品1可以由物品2加上x元得到,连一条B -> A的单向边,边权为x。 然后源点向每个物品连一条物品直接价格的边。 然后枚举点权的下限和上限。 好吧,很水。但是数据范围坑爹!!!点权还能是0!!而且酋长等级不一定最高!!贴代码:#原创 2014-11-01 21:08:31 · 979 阅读 · 0 评论 -
【POJ3182】The Grove BFS 最短环绕路径
题意:给出一个N*M的图,其中‘X’表示原创 2014-10-15 15:14:42 · 1643 阅读 · 0 评论 -
【线性规划与网络流24题】汽车加油行驶问题 分层图
题意依然不加赘述,题解也不难说,就是比裸最短路多几种转移方式,我不说转移方程了,代码写得很漂亮。 1 . 根据方向的不同要有一个费用B。 2 . 加油站问题,即可以把油量转移成满,注意用不用建即可。原创 2014-10-15 10:07:03 · 2743 阅读 · 0 评论 -
【POJ2240】Arbitrage 比值最短路 (货币兑换问题)
货币兑换问题(最短路解法)。原创 2014-11-02 16:55:47 · 1019 阅读 · 0 评论 -
【POJ1724】ROADS 某邪恶最短路
题意:p,n,m,然后m行表示入点出点长度花费。 求花费在p以内的最短路。我写的一定不是pqdij!一定不是!一定是dfs!题解:做一个pq优化的dij,然后看每次跑出来的路的花费是否完事。看代码!快看我的水代码!#include #include #include #include #include #include #include #d原创 2014-11-02 15:06:11 · 1031 阅读 · 0 评论 -
【POJ3037】Skiing 最短路
题意: 有个n*m的滑雪场,bessie要从(1,1)滑到(n,m),问最小时间。起始有一个速度v,然后每从一个点A到一个点B(只能上下左右走,每次一格),速度就会乘上2^(权值A-权值B)。然后每次移动的耗时是当前速度的倒数。题解: 分析一下就能发现,乘乘除除后,从一个点出发时的速度都是固定的,即与从起点直接到该点的速度是一致的,那么我们就可以建成一个边权原创 2014-11-03 00:28:54 · 1469 阅读 · 0 评论 -
【POJ3159】Candies 裸的pqspfa模版题
不多说了,就是裸的模版题。贴代码:#include #include #include #include #include #define N 30500#define M 200000#define inf 0x3f3f3f3fusing namespace std;struct KSD{ int v,len,next;}e[M];int head[N],cnt原创 2014-11-03 00:53:05 · 1170 阅读 · 0 评论 -
【BZOJ3931】【CQOI2015】网络吞吐量 最短路+网络流
题解:……两遍最短路然后判断哪些边可以在某条最短路上,然后加到网络流图中。 然后题意是一个点经过流量有限制,拆点就好。然后有重边Qwq(调了好久。。。) 然后或许有自环,不过这并不影响什么。代码:调试过程中代码风格已经狗一样。 看到 long long i;i#include #include #include #include #include #defi原创 2015-04-07 16:28:15 · 1641 阅读 · 0 评论