圖論
文章平均质量分 52
lanadeus
这个作者很懒,什么都没留下…
展开
-
Tarjan算法研究:求強連通分量、橋、割
Tarjan算法由Tarjan, R. E.Tarjan,\ R.\ E.在1972年提出。它基於圖的DFS(depth first searchdepth\ first\ search),複雜度爲O(V+E)O(V+E) ,可以被看作是線性時間算法。這篇文章的目的在於總結Tarjan算法在求解強連通分量,橋、割方面的應用。尚未完成,逐漸更新。強連通分量的討論強連通分量的定義(更新時間2017.05原创 2017-05-28 14:11:33 · 526 阅读 · 0 评论 -
HDU - 2119 - Matrix - 二分图最小覆盖 - 或Dancing Links
简体:题目链接Joovo推荐了这个题.一开始看觉得是网络流…没想到是二分图匹配(因为这个数据范围很小,所以据说用DL也能过.但是我还不会DL,以后补上代码).赶紧学习了一把匈牙利算法.有一个神奇的结论,叫做”二分图的最大匹配等于最小顶点覆盖”.证明在此处,Matrix67作出.建图方式: 把行ii放在左点集,列jj放在右点集,若(i,j)(i,j)位置是1,就连一条无向边过去.接着做一个匈牙利原创 2017-07-23 13:17:31 · 248 阅读 · 0 评论 -
HDU-6165-FFF at Valentine
LinkUnkown:#include<bits/stdc++.h>#define mem(a,b) memset(a,b,sizeof(a))using namespace std;const int maxn = 1e3+7;int n,m;vector<int> e[maxn];vector<int> g[maxn];int low[maxn],dfn[maxn],ind,ins[原创 2017-09-30 23:48:07 · 201 阅读 · 0 评论 -
BNU-51645-ACM Battle-DFS
LinkI have to write some english.Analysis of the problem will be added after while.The key idea is to enumerate the edges but not vertice!Code:#include<bits/stdc++.h>#define mp(a,b) make_pair(a,b)#de原创 2017-09-30 17:10:11 · 259 阅读 · 0 评论 -
HDU - 6214 - Smallest Minimum Cut - 最大流
链接Dinic模板。将每条边容量乘上一个大数再加1,跑一次最大流。然后将最大流模这个大数,能获得最小割的边数。#include<iostream>#include<cstring>#include<string>#include<vector>#include<queue>using namespace std;typedef long long ll;const int inf = 0原创 2017-10-01 16:26:22 · 232 阅读 · 0 评论