最短路径
YYyyCCCcccBb
觉得为时已晚的时候,恰恰是最早的时候。
展开
-
poj1062 昂贵的聘礼interesting-
PS:自己想的时候感觉很逗,感觉会有负环spfa想了两天,想好之后就在想代码实现,天额,两天都没想明白如何实现..T-T,还是去网上搜了一发思路:其实dijk就可以了,对于所有的点,我们求出到1这个点的单元最短路径,当然这个题重点是图的构建。对于每个物品的货主来说,如果当前这个物品可以用其他物品换得,并且换得物品的地位的主人与他相差不超过给定值,我们就可以认为这两个点有边,且连通可达。原创 2016-12-01 22:06:57 · 280 阅读 · 0 评论 -
HDU 3666&& UVALive - 5094 THE MATRIX PROBLEM(stack判负环,差分约束)
题意:给出n*m的矩阵 ,询问是否能找出一组个数为N的行向量 以及一组个数为m的列向量,使得 l思路:下次不等式条件多想想差分约束吧! 把 n 和 m拆成不同的点,然后开始构造条件。除法取log 变减法-log_l >=bj-ailog_U>=ai-bj把左侧看成dis 右侧看为u,v; 造点的时候要分清 n,m的标号! 如果spfa能跑出来则说明有最短路。原创 2017-04-06 13:29:57 · 280 阅读 · 0 评论 -
HDU 1839 Delay Constrained Maximum Capacity Path (二分最短路)
题意:给出1-》n 个城市以及m条边,每条边有通过的时间w,以及容量d,询问在t时间内可以最多运输容量为多少的矿 从1->n。且只能选择一条路走(多条路就成流了!)思路:二分枚举当前路径容量,作为最大的容量,只有d>=当前的容量的路才可以通过#include #include #include #include #include #include using原创 2017-04-06 14:46:08 · 322 阅读 · 0 评论 -
hdu-1704-Rank(floyd-传递闭包)
题意:A战胜B ,B战胜C,则A可以战胜C,询问有多少种情况给出u,v 不能得知战斗结果思路:传递闭包。判关系。#include#include#include#include#include #includeusing namespace std;const int maxn=1505;int n,m;int g[maxn][maxn]; int vis[m原创 2017-04-20 20:41:38 · 307 阅读 · 0 评论 -
HDU 3696&& FZU 2006 -- Farm Game
题意: 给出每个种类产品的数量和单价, 以及他们之间单向的转化关系。询问最大利益思路: 将每个种类 通过转化关系后的最大单价求出,去乘数量,求和。转化率是个小数,通过乘法关系会失去精度,取log 变为+法、 网上都是这么说的。。。。但是我觉得取log 是因为把乘法变为加法后,目的是为了变为最短路spfa的加减法的模型,否则如果是乘除法的关系,无法跑最短路。在跑最短路的时候 建原创 2017-04-21 12:48:55 · 249 阅读 · 0 评论 -
山东第六届省赛Circle of Friends(强联通缩点最短路)
题意:朋友圈,如果彼此都认为对方是朋友帮忙就无花费,否则花费为1,如果是一个环也认为彼此是朋友。思路:强联通分量缩点,重新造边,跑最短路。#include #include #include #include #include #include using namespace std;const int MAXN =100000 ;const int MA原创 2017-05-03 23:28:34 · 357 阅读 · 0 评论 -
POJ-3660-Cow Contest
询问多少个奶牛可以确定排名传递闭包#include#include#include#include#include #includeusing namespace std;const int maxn=1505;int n,m;int g[maxn][maxn];int vis[maxn];void floyd(){ for(int k=1; k<原创 2017-04-22 10:39:37 · 222 阅读 · 0 评论 -
HDU 5137 How Many Maos Does the Guanxi Worth
题意:去掉任意一个点,询问从1-》n 路径最大值思路:暴力跑dijkstra#include #include #include #include using namespace std;int n,m;const int N=35;typedef long long ll;ll dis[N];ll mp[N][N];int vis[N];ll inf=0x3f原创 2017-09-21 21:32:25 · 306 阅读 · 0 评论 -
hdu 4109 Instrction Arrangement (差分约束)
题意:给出一些指令的拓扑序,询问最后一条指令需要多长时间思路:很明显给出的是 B-A>=C的形式,构造差分约束最长路最短的模型,注意加0点#include #include #include #include #include #include #include #include using namespace std;const int maxn=10005;原创 2017-10-18 13:10:50 · 228 阅读 · 0 评论 -
hdu 5137 ( How Many Maos Does the Guanxi Worth )
题意:给出矩阵,是i->j的安全系数,询问从s->t的安全系数最高是多少, 系数是满足*法思路:建立dijkstra跑最长路#include #include #include #include #include #include #include #include using namespace std;const int maxn=1005;double原创 2017-10-18 13:57:49 · 205 阅读 · 0 评论 -
HDU 4284 Travel (状压dp)
题意: 给出n个城市,m条路, 以及路的花费, 要求给定的h个城市,需要先花di钱 买个工作证, 再转ci元钱。询问是否可以得到所有的工作证并且从1出发,逛完所有的选定h点,再返回1思路:floyd求两两最短距离dp初始化为-1.DP[STA][I] 表示在sta 状态下, 最后一个城市是第i个,可以省下的最多钱数#include #include #include原创 2017-11-03 10:27:13 · 190 阅读 · 0 评论 -
L3-005. 垃圾箱分布
L3-005. 垃圾箱分布时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越大家倒垃圾的时候,都希望垃圾箱距离自己比较近,但是谁都不愿意守着垃圾箱住。所以垃圾箱的位置必须选在到所有居民点的最短距离最长的地方,同时还要保证每个居民点都在距离它一个不太远的范围内。现给定一个居民区的地图,以及若干垃圾箱的候选地点,请你推荐最合适的地点。如果解不唯一,则输...原创 2018-03-17 18:11:41 · 223 阅读 · 0 评论 -
poj1716 Integer Intervals 差分约束
题意: A->B区间 至少有两个值,询问1-》10000最少有几个值思路:裸差分约束,注意a从0起,所以点都增一#include #include #include #include #include #include #include #include using namespace std;const int maxn=10005;typedef lo原创 2017-04-11 20:41:38 · 316 阅读 · 0 评论 -
ZOJ 2770- Burn the Linked Camp 差分约束
题意: 陆逊派出侦察兵打探刘备连营信息。 n个帐篷最大容量为c1 c2 ...cn m个信息, u,v,w u->v营地之前最少有士兵w个。询问最少有多少个士兵。如果不能判断按题目要求输出。思路:此题要求出最小值,即为求最长路的最小值。首先考虑m条信息, u+ u1+u2+...+v>=w 但是加法关系不能做成一个差分约束,很明显是个不等式的题。所以用前缀和的思想做一下。改写原创 2017-04-11 16:45:41 · 357 阅读 · 0 评论 -
poj2253 - Frogger
题意:青蛙去攒门,从节点一 到节点二。一共T个节点。询问青蛙如果从1 到2 。 利用这T个节点,每次用最小的长度跳。问这个最小的长度思路:第一次知道DJK可以这么写。怎么感觉这么像kruskal ,感觉带入下kruskal的感觉就有了!#include #include #include #include #include #define maxn 100005原创 2016-11-20 15:08:02 · 286 阅读 · 0 评论 -
poj2387-Til the Cows Come Home
题意:从1到n,有m条边,问最短多长能到思路:裸dijkstra#include #include #include using namespace std;#define maxn 10005#define INF 0x3f3f3f3fint dis[maxn];int mp[maxn][maxn];int vis[maxn];int n,m;void原创 2016-11-20 15:12:34 · 250 阅读 · 0 评论 -
poj3268 -- Silver Cow Party
题意:奶牛开派对, X号是那个开派对的奶牛家。计算其他奶牛到这个X点 以及从X点回家花费时间最大的那只奶牛。注意奶牛有点懒,要走最短路径。图是个有向图思路:写了个DIJ暴力扫的炸了, 优化后再扫又炸。求X点到所有奶牛加 dij所有奶牛到X点 的做法: 把图的边反过来,求X到所有奶牛家的路径#include #include #include #include #i原创 2016-11-25 13:03:46 · 305 阅读 · 0 评论 -
dijkstra与spfa(bellman-Ford)
一丶Dijkstra:对于每一个点都进行松弛,一共松弛n-1次。每次都拿当前点,对于未加入图中的点进行松弛,核心代码: for(int i=1;i<=n;i++) { minn=INF; for(int j=1;j<=n;j++) { if(!vis[j]&&dis[j]<minn )原创 2016-11-25 16:09:25 · 431 阅读 · 0 评论 -
poj1502-MPI Maelstrom三种方法
题意:描述: 啊啊啊啊啊啊啊!输入:给定一个下三角矩阵,询问从1开始到其他点的最短路径中,最长的那个是多少思路:模板开搞!注意输入x表示无连接dijk版:#include #include #include #define inf 0x3f3f3f3f#define maxn 105using namespace std;int mp[105][105];ch原创 2016-11-25 16:38:15 · 307 阅读 · 0 评论 -
传递闭包-POJ 3660 Cow Contest
题意:给出N个关系,问有几个数字已经可以完全确定在其中的排序思路:本来想写个并查集,维护up,down两个权值关系,然而又发现,这题如果用带权并查集,又会有换根的操作,无法完成。去搜了一波说是个floyd,很好!。floyd可以用k做转点,维护i,k k,j是否存在关系并且进行松弛,也自然可以询问是否能用k将i,j加以联系#include #include #inclu原创 2016-11-25 20:31:56 · 284 阅读 · 0 评论 -
spfa-spfa(deque)-poj1511 - Invitation Cards
题意:从1点出发去所有点,并且从所有点返回1号点。询问总花费思路:两遍spfa,正反存边。和poj3268 -- Silver Cow Party很像,一样的思路第一次spfa是从1到所有点的花费。第二次spfan是从所有点到1的花费,只要把边逆过来就可以了#include #include #include #include #include原创 2016-11-25 21:21:09 · 365 阅读 · 0 评论 -
SPFa-POJ3259-Wormholes
题意:有虫洞可以时间回溯,从x,到y, 有土地可以从x,到y花费w时间。询问是否可以从某点进去的时间在从这个点出来的时间之后思路:判负环#include #include #include #include #include using namespace std;#define maxn 100000#define inf 0x3f3f3f3fstruct原创 2016-11-25 15:33:40 · 245 阅读 · 0 评论 -
Jzzhu and Cities CodeForces - 450D
题意 :给出n个节点,m条道路 ,k条铁路。铁路都是从1号节点开始的,求为了减少费用,可以拆掉多少条铁路,且最短路径到任意一点的距离不变思路:先建立铁路,标记由铁路可以到达的城市以及最短距离,之后用道路进行spfa 。如果在spfa中,可以松弛某一点,或者刚好等,那么必定是通过道路抵达的,标记取消。最终判断还有多少个标记,就是必须需要的铁路long long 过得去 int原创 2017-03-09 16:21:40 · 388 阅读 · 0 评论 -
poj2983-Is the Information Reliable?(差分约束判正环)
题意:上有n个点,给出m条信息,若为P则表示点A在点B的北方X米,若为V则表示A在B的北方。判断给出的信息是否合法思路:对于不等式建立边的条件, P: a-b=x --> a-b>=x & ( a-bb-a>=-x ) v ; a-b>=1#include #include #include #include #include #include原创 2017-04-09 13:29:29 · 409 阅读 · 0 评论 -
HDU 1534 Schedule Problem 最短路+差分约束
题意:给出FAS A-B>=-wa FAF a-b>=wb-wa SAS a-b>=0 SAF a-b>=wb问是否存在可能,若可能输出最短时间思路:A-B>=C的形式,询问最小解, 构造最长路的形式FAS: b->a ==-waFAF:b->a==wb-waSAS: b-.>a=0SAF b->a=wb#include #include #inc原创 2017-04-10 11:26:52 · 277 阅读 · 0 评论 -
L3-008. 喊山
L3-008. 喊山时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交...原创 2018-03-18 11:16:02 · 220 阅读 · 0 评论