
图论:最短路
文章平均质量分 66
BRCOCOLI
初学者 记录成长 Fighting
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 3159 Candies (Dijkstra+堆优化) .
题目地址:http://poj.org/problem?id=3159时间挺紧的#include#include#include#include#include#includeusing namespace std;const int maxn=30000+5; typedef pair pii;struct Edge{ int to,weight; Edge(int原创 2016-08-16 14:20:29 · 306 阅读 · 0 评论 -
HDU 5294 Tricks Device 最短路最小割 -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5294用Dijkstra求出所有点到起点的最短路径然后 如果dist[u]-dist[v]==w 说明该边可能是在最短路径中,但这种方法会掺入一些没用的 ,不联通的边然后利用网络流,求出最大流就是最小割了#include#include#include#include#i原创 2016-09-23 18:31:13 · 363 阅读 · 0 评论 -
HDU 5889 Barricade 最短路最小割 -
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5889#include#include#include#include#include#includeusing namespace std;const int maxn=1000+5;const int INF=0x3f3f3f3f;int N,M;//网络流struct原创 2016-09-23 18:44:36 · 321 阅读 · 0 评论 -
POJ 1125 Stockbroker Grapevine Floyd .
题目地址:http://poj.org/problem?id=1125找出能让所有人知道消息的且最快的那个人,还要记录那个人传播中耗时间最长的另一人#include#include#include#include#includeusing namespace std;const int INF=1000000000;const int maxn=100+5;int di原创 2016-08-17 13:47:11 · 239 阅读 · 0 评论 -
POJ 3660 Cow Contest (Ployd) -
题目地址:http://poj.org/problem?id=3660如果一个点u, 有x个点能到达此点,从u点出发能到达y个点,若x+y=N-1,则u点的排名是确定的。用floyd算出每两个点之间的距离,最后统计,若dist[a][b] 无穷大且dist[b][a]无穷大,则a和b的排名都不能确定。最后用点个数减去不能确定点的个数即可。#include#include#inclu原创 2016-08-17 13:33:40 · 242 阅读 · 0 评论 -
Floyd 模板
求每一对顶点之间的最短路径。有向图,无向图均可,也可以有负权边,但不能存在负环u~v的最短路径 可以通过 dist[u][k1]+dist[k1][k2]+.....+dist[kn-2][kn-1]+dist[kn-1][v]来确定(k最多为n-1个,且这样计算的前提是存在边)#include#include#include#include#includeusing names原创 2016-08-16 19:28:04 · 234 阅读 · 0 评论 -
POJ 3256 Cow Picnic SPFA
题目地址:http://poj.org/problem?id=3256 题目求的是,所有奶牛都可以到的草坪有几块那只要利用SPFA,枚举所有草坪,求出所有奶牛草坪能否到达该草坪就好了因为要求的是其他草坪能否到达该草坪,所以把边都反向就好了#include#include#include#include#includeusing namespace std;const i原创 2016-08-16 19:06:17 · 331 阅读 · 0 评论 -
SPFA 模板
#include#include#include#include#includeusing namespace std;const int INF=(1<<30);const int maxn=10000+5;struct Edge{ int to; int weight; Edge(int t,int w):to(t),weight(w){}};vector > G(ma原创 2016-08-16 18:07:47 · 244 阅读 · 0 评论 -
POJ 2387 Til the Cows Come Home (Spfa) .
题目地址:http://poj.org/problem?id=2387考虑双向边,还有重边,裸的算法#include#include#include#include#includeusing namespace std;const int INF=(1<<30);const int maxn=1000+5;struct Edge{ int to; int weight;原创 2016-08-16 18:26:18 · 281 阅读 · 0 评论 -
POJ 2240 Arbitrage Bellman判断有无环 .
题目地址:http://poj.org/problem?id=2240string s; cin>>s 超级慢 TLE ,用scanf %s 就47ms#include#include#include#include#includeusing namespace std;const int INF=(1<<30);struct Edge{ int from,to; doub原创 2016-08-16 17:17:30 · 294 阅读 · 0 评论 -
POJ 1860 Currency Exchange Bellma求有无环 .
题目地址:http://poj.org/problem?id=1860正好是Bellman的逆运算求的是最长路径,且如果有一条能一直走的正环(代表资产一直增加)就输出YES#include#include#include#includeusing namespace std;const int INF=(1<<30);struct Edge{ int from,to; d原创 2016-08-16 16:08:38 · 285 阅读 · 0 评论 -
POJ 3259 Wormholes Bellman判断负权环 .
题目地址:http://poj.org/problem?id=3259裸的算法#include#include#include#includeusing namespace std;const int INF=(1<<30);struct Edge{ int from,to,weight; Edge(int f,int t,int w):from(f),to(t),weig原创 2016-08-16 15:17:56 · 266 阅读 · 0 评论 -
Bellman_Ford 模板
可以解决有负权边的图,但不能解决有负权回路的图(有负权回路的最短路本来就不存在嘛)思路:假设一共有n个点那么从u~v最多经过n-1个点便肯定能找出最短边(因为最多把其他的边全走一遍就知道最短路径了)所以算法就是:从u(起点)出发,经过1个点到v点试试,如果更加小,就更新一下dist再经过2个点到v点试试,如果更加小,就更新一下dist.........当经过n-1个原创 2016-08-16 15:11:30 · 304 阅读 · 0 评论 -
Dijkstra+堆优化 模板
#include#include#include#include#include#includeusing namespace std;const int maxn=30000+5; struct Edge{int from,to,weight;Edge(int from,int to,int weight):from(from),to(to),weight原创 2016-08-16 13:30:31 · 3002 阅读 · 1 评论