摘要:
CHAPTER 0 废话 1.常见的最大流算法可以大致分为两种:找增广路 和 预流推进 2.从理论时间复杂度上界来看,找增广路算法的最坏时间复杂度为\(O(n^2m)\),而预流推进算法的最坏时间复杂度为\(O(n^2\sqrt{m})\),看起来预流推进要显然优于找增广路,但在实际应用(尤指OI) 阅读全文
摘要:
存图 邻接表 int edgeid,head[N]; struct edge{int v,nxt,w;}e[2*M]; 邻接矩阵 int g[N][N]; 边集 struct edge{int u,v,w;}e[M]; 最小生成树 Kruskal 时间复杂度\(O(m\log{m})\) 算法流程 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; #define ll long long ll Gcd(ll x,ll y){while(y^=x^=y^=x%=y);return x;} int main() { ll a,b; cin>>a>>b; co 阅读全文
摘要:
世界上最好的费用流板子! //lg p3381 #include<bits/stdc++.h> using namespace std; #define ll long long const int N= (int)5e3+3; const int M =(int)5e4+4; const ll I 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; const int N = 205; const int M = 205; const int INF = 0x3f3f3f3f; int edgeid=2; int head[N]; struct edge 阅读全文