![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Acm--图论
zzti_xiaowei
xxx
展开
-
Floyd-算法--任意两点间的最短路问题
Floyd算法-任意两点间的最短路问题 求解所有两点间的最短路的问题叫做任意两点间的最短路问题。让我们试着用DP来求解任意两点间的最短路问题。只使用0~k的情况下,记i到j的最短路长度为d[k+1][i][j]。k=-1时,认为只使用i和j,所以d[0][i][j]=cost[i][j]。接下来让我们把只使用顶点0~k的问题归纳到只使用0~k-1的问题上。 只使用0~k原创 2017-12-23 14:10:35 · 2646 阅读 · 0 评论 -
Hdu-1353/Poj-1511 Invitation Cards
[Hdu-1353] [Poj-1511] 思路:还是蛮简单的,建边跑一遍最短路求和,再反向建边跑一遍求和,相加即可。 注意点: Hdu题目的限制内存很小,会刚刚卡到MLE。 题目中顶点数<=1e6,很大很大。反向建边时,不要开两个vector<edge>G1[Max_v],G2[Max_v];,会多次MLE,因为vector的内存增长机制,每次内存不够时,会新分配...原创 2018-04-13 12:20:15 · 166 阅读 · 0 评论 -
Poj-3259 Wormholes
[题目链接] 解法:思路很简单,只需判断图中是否含有负权回路即可。 SPFA算法: #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<algorithm> using name...原创 2018-04-07 12:48:01 · 189 阅读 · 0 评论 -
Poj-1860 Currency Exchange
[题目链接] 题意:有多种钱币可相互兑换,钱币A兑换钱币B的原则:X个钱币A=(X-手续费)*汇率,问经过一系列不同间钱币的兑换,原有钱币A的数量会不会增加(即会不会赚钱)。 思路:判断有向图中是否存在一条正权回路,如果存在,必定赚钱。 两种方法: 判断是否存在某顶点v进入队列的次数大于N,若存在,必存在正权回路。 某个顶点更新后,起点s的dist[s]大于V,若存在,必存在正权回路。 ...原创 2018-04-06 22:18:17 · 146 阅读 · 0 评论 -
Poj-3268 Silver Cow Party
[题目链接] 题意:牛牛们去指定农场参加party,求所有牛牛中来返的最大距离。 思路:先以农场X为起点Dijkstra跑一边最短路,再把所有的边反向,再以农场X为起点Dijkstra跑一边最短路,两次距离的最大值即为所求。 代码: #include<iostream> #include<cstdio> #include<cstring> #includ...原创 2018-04-06 12:19:57 · 144 阅读 · 0 评论 -
Poj-1797 Heavy Transportation
[题目链接] 题意:要从城市1到城市N运送货物,有M条道路,每条道路都有它的最大载重量,问从城市1到城市N能运送最多的载重重量。 思路:找一条1–>N的路径,在不超过每条路径的最大载重量的情况下,使得运送的货物最多。一条路径上的最大载重量为这个路径上权值最小的边。 —–大佬说的就是好耶,只会做不会说的我只能Orz~ 亲兄弟poj 2253 代码: #include<ios...原创 2018-04-04 15:41:24 · 279 阅读 · 0 评论 -
Poj-2253 Frogger
[题目链接] 题意:石头上有两只小青蛙,一只哭着要找到另一只,但是跳跃能力有限,可以借助其它石头,求所有路径中要求跳跃能力的最小值。 思路:最短路的变形,只是这次d[v]不是代表所有路径中起点u到v的最短距离,而是代表所有路径中起点u到v一次跳的最大距离中的最小值。 代码: #include<iostream> #include<cstdio> #include&l...原创 2018-04-04 14:48:38 · 125 阅读 · 0 评论 -
LightOJ-1074 Extended Traffic
[题目链接] 题意:有V个城市,每个城市有一个拥堵值pay[i],E条单向路u到v,从u到v所需金额是(pay[v]-pay[u])^3, 查找从起点1到待查找点的最少花费;如果不能到达或者花费小于3输出’?’。 思路:可能存在负环,如果一个点在负环中,那么dis[u]是无限小的,它所能到达的所有点的距离也是无限小的。使用spfa判断当一个点在负环中时,标记从这个点可达的所有顶点即可。 代码...原创 2018-04-03 11:29:37 · 143 阅读 · 0 评论 -
Poj-3723 Conscription
[题目链接] 解题: 这次感觉还可以,不再是水水的,还不错哦~ 注意数组开的够用 顶点集:女生(0…N-1 ) 男生(N…N+M-1) 求最小生成树f,输出10000*(N+M)-f即可 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm&g...原创 2018-04-09 21:15:54 · 135 阅读 · 0 评论 -
Poj-2395 Out of Hay
[题目链接] 思路:各种变形的村村通,只是求最小生成树的最大边,好像不能称之为变形哦~ 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int Max_n=1e3+10; cons...原创 2018-04-09 18:05:36 · 112 阅读 · 0 评论 -
Poj-2377 Bad Cowtractors
[题目链接] 思路:最大值的村村通,突然发现Kruskal算法不用处理重边,真是又一大优点啊!(手动点赞) 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int Max_n=1e...原创 2018-04-09 17:35:56 · 106 阅读 · 0 评论 -
Poj 1258 Agri-Net
[题目链接] 思路:好多都是村村通啊,再水最后一个好了~ 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int inf=0x3f3f3f3f; const int Max_v=110...原创 2018-04-08 15:19:20 · 108 阅读 · 0 评论 -
Poj-2421 Constructing Roads
[题目链接] 题意: N个村庄要实现村村通,Q个村已经相通了,求剩下的村庄要实现村村通的最小花费。 思路:相通的村庄距离置为0,跑一边最小生成树就好啦。 Prim算法VSKruskal算法(感觉后者既好写,效率又高) Prim算法: #include<iostream> #include<cstdio> #include<cstring> #inc...原创 2018-04-08 14:55:43 · 176 阅读 · 0 评论 -
Poj-2031 Building a Space Station
[题目链接] 题意:题目给出三维坐标系上的一些球的球心坐标和其半径,搭建通路,使得他们能够相互连通。如果两个球有重叠的部分或相切则算为已连通,无需再搭桥,求搭建通路的最小费用。 思路:任意两个球之间建边,再最小生成树模板跑一遍即可。 代码: #include<iostream> #include<cstdio> #include<cmath> #incl...原创 2018-04-08 13:45:29 · 115 阅读 · 0 评论 -
Poj-1287 Networking
[题目链接] 思路: 稳稳的Kruskal求最小生成树模板,好写效率也高,我们都爱用它~ 代码: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int inf=0x3f3f3f3f; ...原创 2018-04-08 12:03:15 · 123 阅读 · 0 评论 -
Poj-1251 Jungle Roads
[题目链接] 题解:思路很简单,最小生成树模板跑一下就好了,但是莫名多次RE。 感觉测试数据格式不规范,还是用cin读入自动跳过空格、回车吧。 Prim算法: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespac...原创 2018-04-08 11:22:04 · 119 阅读 · 0 评论 -
POJ-3660 Cow Contest
POJ-3660 Cow Contest Description N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill ra原创 2017-12-23 17:07:54 · 215 阅读 · 0 评论 -
51Nod-1366 贫富差距
一个国家有N个公民,标记为0,1,2,...,N-1,每个公民有一个存款额。已知每个公民有一些朋友,同时国家有一条规定朋友间的存款额之差不能大于d。也就是说,a和b是朋友的话,a有x元的存款,b有y元,那么|x-y|<=d。给定d值与N个人的朋友关系,求这个国家最富有的人和最贫穷的人的存款相差最大的可能值是多少?即求贫富差距的最大值的下界。若这个值为无穷大,输出-1.Input多组测试数据,...原创 2017-12-23 15:25:58 · 245 阅读 · 0 评论 -
Aoj-2200 Mr. Rito Post Office
[题目链接] 思路:想想脑瓜就疼,好复杂,看着题解吧啦吧啦一下~~ 在一些城市中有水路和陆路连接,每一条路都有长度。但是水路必须乘船,且坐船到达某个位置后船必须留在那里,下次坐必须回到该地。现在有m城市要到达,且必须按照指定的顺序,问最小代价。 最短路+dp: 首先预处理出任意两点间只走水路或陆路的最小代价,然后考虑dp。 记状态dp[i][j]代表要到第i个任务所指定的城市且将...原创 2018-08-19 14:50:58 · 419 阅读 · 0 评论