图论_最短路
文章平均质量分 77
wang2147483647
这个作者很懒,什么都没留下…
展开
-
Hdu 5521 Meeting(建图+最短路)
题目地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=5521思路:边数太多,不能直接建图。对于每个集合,设置一个虚拟点,对于每个集合中的点u:连一条u->S权值为0的边(点在集合中,花费为0);连一条S->u权值为w的边(从集合中一点到另一点花费w)。分别计算从点1到i和从点n到i的最短路,枚举i,则ans=min( ans,max ( d原创 2016-08-19 20:40:43 · 720 阅读 · 0 评论 -
Hdu 6201 transaction transaction transaction(最长路)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6201思路:1.选择两点,一点作为买入,一点作为卖出,每经过一条边需一定花费,求最大利润。2.选择最短路中若求一起点集合到一终点集合的最短路,可通过设置一源点与一汇点求得。3.对于此问题,可分为买入集合与卖出集合。设置一源点,向所有节点连边,权值为-w[i],在该点买入;设置一汇点,所有原创 2017-09-29 16:37:39 · 458 阅读 · 0 评论 -
hdu 6166 Senior Pan(SPFA+二进制分组)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6166思路:1.从集合A中一点到集合B中一点的最短路径:设立源点0,连向所有A集合中的点,边权值为0;设立汇点,B集合中点向其连边,边权值为0。求源点到汇点的最短路即为集合A到集合B的最短路。2.将最短两点分别分到A、B集合:由于图中任意两点标号不同,其二进制表示中必有至少一位不同。按二进制原创 2017-08-25 21:28:24 · 732 阅读 · 0 评论 -
Poj 3411 Paid Roads(最短路)
题目地址:http://poj.org/problem?id=3411思路:记录状态,松弛操作时判断即可。#include#include#include#include#include#define debugusing namespace std;const int maxn=15;const int INF=0x3f3f3f3f;struct Edge{原创 2017-03-07 16:08:43 · 476 阅读 · 0 评论 -
Poj 3662 Telephone Lines(最短路+二分)
题目地址:http://poj.org/problem?id=3662思路:题目即为从连接1--n的边中找出一条最长的边,使得不多于k条边大于此边。则可以二分边长L(从0到边长最大值),求连接1--n的边中有多少条边的边长大于该边长:建立新图,将所有大于该边长的边权值设为1,其他边的权值为0,则求1->n的最短路即为连接1-->n的边中大于该边的边的个数,若其小于等于k则继续二分1---L-1原创 2017-03-03 19:34:07 · 616 阅读 · 0 评论 -
UVA 12661 Funny Car Racing(最短路)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4399思路:判断当前时间加上通过时间是否能通过(Tnow%(a+b)+t#include#include#include#include#includeusing namespa原创 2017-02-11 23:39:13 · 558 阅读 · 0 评论 -
UVA 10048 Audiophobia(Floyd)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=989思路:FLoyd过程中将加变为取max,取min变为取max。即对于两点i、j,将k作为中转点,取i->k,k->j最大值,作为最长边,取所有i->k->j最小值,作为i、j两点的最大边权原创 2017-02-09 16:10:46 · 245 阅读 · 0 评论 -
UVA 658 It's not a Bug, it's a Feature!(状压+隐式图+最短路)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=599思路:所有状态构成点数2^n,但有些状态可能无法到达,所以无需存储全部点,只需在扩展当前状态时,枚举所有补丁,看补丁是否能打上即可。使用状压表示全部bug,初始时每一位全部为1,,则答案为原创 2017-02-09 22:25:37 · 388 阅读 · 0 评论 -
Hdu 3631 Shortest Path(Floyd插点)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3631思路:Floyd,对于已求出最短路的图,若增加一点k及相应的边,则只需将k当做中间节点更新点u与点v的距离即可。因此,每增加一个标记点时,则将标记点当做中间节点更新最短路径,由于点数只有300,时间上可以承受。#include#include#include#includeusin原创 2017-02-07 23:29:09 · 369 阅读 · 0 评论 -
poj 3160 Father Christmas flymouse(强连通缩点+最长路)
题目地址:http://poj.org/problem?id=3160思路:将所有点权值为负数的点设为0,,同一强连通分量中的点可全部选择,因此将其看做一点。在新图中求最长路径即可。最长路径:由于为给定起点,(1)从所有入度为0的点开始,进行DFS;(2)设置一虚拟节点,将其与入度为0的点相连,SPFA求最长路径。SPFA版#include#include#include#inc原创 2017-02-07 20:08:45 · 441 阅读 · 0 评论 -
poj 3114 Countries in War(强连通缩点+最短路)
题目地址:http://poj.org/problem?id=3114思路:Tarjan缩点+SPFA最短路。#include#include#include#include#include#define debuusing namespace std;const int maxn=500+50;const int maxm=250000+50;const int IN原创 2017-02-07 15:30:45 · 295 阅读 · 0 评论 -
poj 2449 Remmarguts' Date(K短路)
题目地址:http://poj.org/problem?id=2449思路:K短路模板,A*算法。估价函数=当前值+当前位置到终点的距离,即f(p)=g(p)+h(p),每次扩展估价函数值最小的一个。选择f(p)最小的点,若其为t,则计算其出队次数,次数等于k时,即为第k短路长度。#include#include#include#include#includeusing name原创 2017-02-06 01:03:27 · 282 阅读 · 0 评论 -
Hdu 5876 Sparse Graph(补图最短路)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5876思路:用set维护未访问节点。BFS时,对于点u,枚举所有未访问点v,若u、v在原图中无边连接,则将v点入队·,更新最短距离,并且删除点v。#include#include#include#include#include#includeusing namespace std;原创 2016-09-24 19:47:05 · 887 阅读 · 0 评论 -
UVAlive 6800 The Mountain of Gold?(负环判断)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4812思路:若存在负环且0点在负环中,则有解。则用SPFA判断是否存在负环,若点i在负环中,则该点的dist置为-INF(下次不再访问),若某点已在负环中,则更新时该点无需进入队原创 2016-08-24 19:33:56 · 679 阅读 · 0 评论 -
Codeforces Beta Round #95 (Div. 2) D. Subway(环最短路)
题目地址:http://codeforces.com/problemset/problem/131/D思路:寻找环。首先将度数为1的节点入队,将与度数为1的节点的度数减一。将度数小于2的节点入队并标记,最后没有被标记的节点就是组成环的节点。#include#include#include#include#include#include#define debuusing n原创 2016-07-26 20:09:00 · 364 阅读 · 0 评论 -
Hdu 3696 Farm Game(最长路)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3696思路:每种商品可以直接卖掉,也可以换购后卖掉。所以设点n+1,从该点向每个商品连边权值为log(p[i])(将乘法转换为加法,直接使用SPFA)表示直接卖掉的单位价值;对于可以换购的商品 i-->j,连 j--> i 权值为log(b[j])的边(反向建图,只需求一次最长路),表示单位 i原创 2016-08-05 19:59:58 · 771 阅读 · 0 评论 -
Uva 11146 Insurrection(最短路+最小割)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2087思路:1.删除k个点使得点1到点n不连通。2.拆点。将每个点拆为i和i’,容量为删除该点的花费(即为从1点到该点的最短路+n点到该点的最短路)。3.对于原图中的无向边i-j,原创 2017-10-21 16:16:56 · 696 阅读 · 0 评论