![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
乐哥不焦虑
这个作者很懒,什么都没留下…
展开
-
HDOJ1385 Minumum Transportation Cost ------简单的floyd
#include"stdio.h"#define INF 100000000#define N 100int G[N][N],tax[N],i,j,k,n,t,s,e;int path[N][N];void floyd(){ for(k=0;k<n;k++) for(i=0;i<n;i++)原创 2012-02-08 13:30:05 · 296 阅读 · 0 评论 -
POJ 2983 Is the Information Reliable?(差分约束#7)
#include #include #include #include #define N 1010 #define M 1000000#define MAXQ 1000000using namespace std; const int inf = (-1u >> 1); int d[N], first[N];int u[M], v[M] , w[M], next[M];原创 2012-07-31 23:35:52 · 384 阅读 · 0 评论 -
POJ 3169 Layout (差分约束#5)
当d[n] = inf 时即输出 -2;#include #include #include #include #define N 1010 #define M 35000#define MAXQ 35000using namespace std; const int inf = (-1u >> 1); int d[N], first[N];int v[M] , w[原创 2012-07-31 23:32:13 · 404 阅读 · 0 评论 -
POJ 1201 Intervals (差分约束#4)
#include #include #include #include #include #define N 50005 #define M 200000 // d[i]的初始化 using namespace std; const int inf = (-1u >> 1); int e; struct intval{ int l, r;原创 2012-07-31 23:26:36 · 346 阅读 · 0 评论 -
Poj _1364 King(差分约束#2)
#include #include #include #include #include #define N 105#define M 10000using namespace std; const int inf = (-1u >> 1); int first[N], d[N]; int next[M], u[M], v[M], w[M];int cnt[N];原创 2012-07-31 23:14:19 · 312 阅读 · 0 评论 -
POJ 3159 Candies (差分约束#1)
用了两种方法:用栈的SPFA和用优先队列的Dijkstra都是500ms+ #include #include #include #include #include #include #define N 30005#define M 150005using namespace std; const int inf = (-1u >> 1); int n,原创 2012-07-31 23:10:04 · 326 阅读 · 0 评论 -
poj 1275 Cashier Employment(差分约束#6)
此题约束条件较多。 #include #include #include #include #define N 30 #define M 100 #define MAXQ 10000 using namespace std; const int inf = (-1u >> 1); int R[24], t[24];int s[N];int d[N], first原创 2012-07-31 23:34:35 · 531 阅读 · 0 评论 -
poj 1716 Integer intervals (差分约束#3 /贪心)
两种方法 #include #include #include #include #include #define N 10005 using namespace std; const int inf = (-1u >> 1);struct intval{ int l, r;};intval s[N]; bool cmp(const intval&原创 2012-07-31 23:24:59 · 416 阅读 · 0 评论 -
POJ 3815 The Ninja Way(差分约束#8)
这个题同样是差分约束,求的是最矮的树和最高的树之间的最大距离,注意有一个坐标的先后关系在起作用,所以我们要想方法将数B究竟在树A左边还是右边用不同的边权表示出来,所以,B在A的左边,就从B向A连一条边(单向),C在A的右边,就从A向C连一条边,对于起点、终点两个点,最后只要求靠左边的那个点到右边的那个点的最短路就可以了。516ms #include #include原创 2012-07-31 23:36:44 · 673 阅读 · 0 评论 -
uva_10801 Lift hopping
用Dijkstra即可,我用Floyd写的 #include #include #include #include #define N 100 const int inf = 10000000; using namespace std;typedef struct node{ int t, s, e;}; bool ele[5][N + 2];n原创 2012-07-18 20:41:33 · 487 阅读 · 0 评论 -
uva_558 Wormholes (spfa 或 bellman_ford)
#include #include #define N 1002#define M 2002using namespace std; const int inf = 300000000; int first[N], d[N ];int next[M], u[M], v[ M ], w[M ]; void read_graph(int n, int m ){原创 2012-07-18 19:46:53 · 507 阅读 · 0 评论 -
UVA 10986 Sending email DIJSKRA(稀疏图)
#include #include #include #define N 20002#define M 50002using namespace std; const int inf = 300000000; typedef pair pii; int first[N], d[N ];int next[M * 2], u[M * 2], v[ M *2], w[M * 2原创 2012-07-18 19:36:38 · 511 阅读 · 0 评论 -
uva_658 It's not a Bug, it's a Feature! Dijkstra(优先队列)
#include #include #include using namespace std;#define N 21#define M 101 const int inf = 500000000; int pre[2][M], next[2][M]; int t[M];int d[1<<N]; typedef pair pii; void dijkstra(int n,原创 2012-07-18 19:34:22 · 758 阅读 · 0 评论 -
uva_10397 Connect the Campus
依然是 Kruskal #include #include #include #define N 750#define inf 1e200 using namespace std;double w[N * N];double x[N + 2], y[N +2];int u[N * N], v[N * N]; int p[N + 2]; int r[N * N];原创 2012-07-18 19:32:54 · 306 阅读 · 0 评论 -
uva_10048 Audiophobia
Floyd 的变体, d[i][j]为节点i, j之间最佳路径的最大噪声, 则d [ i ][ j ] = min( d[ i ][ j ], max(d[ i ][ k ], d[ k ][ j ]));原创 2012-07-18 19:30:46 · 394 阅读 · 0 评论 -
uva_10034 Freckles Kruskal (使用并查集) 或Prim
Kruskal #include #include #include #define N 100#define inf 1e200 using namespace std;double w[N * N];double x[N + 2], y[N +2];int u[N * N], v[N * N]; int p[N + 2]; int r[N * N]; do原创 2012-07-18 19:28:34 · 387 阅读 · 0 评论 -
UVA 567 risk FLOYD
#include #include #define N 20using namespace std; const int inf = 2000000; int f[N + 3][N + 3];int s[102],e[102]; int a, n, x;void pro( int t){ for (int i = 0; i < x ; i++){原创 2012-07-18 19:11:11 · 375 阅读 · 0 评论 -
ZOJ 2314 (无源汇可行流)
#include #include #include #include #include #include using namespace std;typedef long long LL;#define V 210#define E 100000#define INF 10000000int n, m;////void init(){// nv =原创 2013-08-03 11:18:00 · 2055 阅读 · 0 评论