图论
默默Silence
这个作者很懒,什么都没留下…
展开
-
PAT 紧急救援 (最短路径变形)
题目链接,戳我# include <iostream># include <stdlib.h># include <string.h># define MAX 505# define INFI 999using namespace std;int N,M,S,D;int valueOfVer[MAX];//顶点值,即每个城市的救援队 int preVer[MAX];//preVer[原创 2016-11-11 19:50:00 · 477 阅读 · 0 评论 -
spfa算法--求最短路(含负权边)--蓝桥杯最短路
算法训练 最短路 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式 第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式 共n-1行,第i行表示1号点到i原创 2018-03-28 20:40:08 · 765 阅读 · 0 评论 -
Tarjan算法--求割边(含重边) poj 3177
题目链接:http://poj.org/problem?id=3177/* 求割边: 将整个图进行缩点,然后再查找缩点后的图,即使一棵树 求树中的叶子的个数n,那么就有(n+1)/2条边 为桥 */# include <iostream># include <stack># include <vector># include <...原创 2018-03-28 19:26:03 · 754 阅读 · 0 评论 -
Tarjan算法--求割点数量 poj1144
题目链接:http://poj.org/problem?id=1144# include<iostream># include<stdio.h># include<algorithm># include <string.h># include <vector># include <stack># defin...原创 2018-03-27 22:02:46 · 158 阅读 · 0 评论 -
Spfa 算法 以及 两种优化 -- Til the Cows Come Home
题目链接:http://poj.org/problem?id=2387/* 可以判定负环,负权边的spfa算法 BFS版本用于计算最短路径*/ # include <iostream># include <string.h># include <string># include <algorithm># include &...原创 2018-03-24 16:09:49 · 206 阅读 · 0 评论 -
(最小点覆盖 匈牙利算法)--pojMachine Schedule
Machine Schedule Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 15751 Accepted: 6755 DescriptionAs we all know, machine scheduling is a very classical problem in computer sci原创 2017-10-27 16:44:19 · 541 阅读 · 0 评论 -
最大网络流模板Dinic算法
#include <iostream> #include <queue> #include <vector> #include <algorithm> #include <deque> using namespace std;#define INFINITE 999999999 //Poj 1273 Drainage Ditches 的 Dinic算法int G[300][300];原创 2017-09-29 15:53:59 · 171 阅读 · 0 评论 -
(求DAG图最长路)拓扑排序模板
#include <iostream>#include <string>#include <string.h>#include <algorithm>#include <vector>#include <stack>#define MAXN 10005#define MAXM 100005using namespace std;typedef struct Node{ in原创 2017-09-27 19:49:39 · 1244 阅读 · 0 评论 -
Tarjan算法模板
#include <iostream>#include <string>#include <string.h>#include <algorithm>#include <vector>#define MAXN 10005using namespace std;int dfn[MAXN];int vis[MAXN];int...原创 2017-09-27 15:13:34 · 330 阅读 · 0 评论 -
LCA算法模板(离线算法,在线算法)
/**tarjan 离线算法hdu 2586 LCA模板题(离线算法)题目大意:给一个无根树,有q个询问,每个询问两个点,问两点的距离。解题思路:求出 lca = LCA(X,Y) , 然后 dir[x] + dir[y] - 2 * dir[lca], dir[u]表示点u到树根的距离*/#include #include #include #include using namespace转载 2017-09-15 15:20:42 · 471 阅读 · 0 评论 -
前向星 建立图
#include #include #include #define MAXN 10000using namespace std;typedef struct Edge{ int v;//边的权值 int next;//下一条边的编号 int to;//边的终点 }Edge;int head[MAXN],vis[MAXN],t=1;Edge edge[MAXN*4];原创 2017-09-15 14:44:40 · 460 阅读 · 0 评论 -
匈牙利算法--最小点覆盖--poj3041
题目链接:http://poj.org/problem?id=3041/* 思路:把每行或者每列看成一个点 这样,图就转化成了两个点集,即行集A和列集B 依题意,也就是说要消去连接AB集合中点的边,这就应对了 最小点覆盖算法,用匈牙利算法解决 */# include <iostream># include <algorithm># include <stri原创 2018-03-29 15:25:50 · 408 阅读 · 0 评论