模板
小九_
这个作者很懒,什么都没留下…
展开
-
dijkstra 结构体
dijkstra--O(n^2)做法模板struct Dijkstra { int n; int mp[maxn][maxn]; // 记录地图 int dis[maxn], vis[maxn]; void init(int n) // 初始化 { this -> n = n; memset(mp, INF, sizeof(mp)); }...原创 2018-08-14 18:46:46 · 225 阅读 · 2 评论 -
Bellman-Ford 结构体
Bellman-Ford 朴素做法struct edge { int from, to, cap, flow; edge (int _from, int _to, int _cap, int _flow):from(_from), to(_to), cap(_cap), flow(_flow){}};struct EdmondsKarp { int n, m; vector &l...原创 2018-08-14 20:13:09 · 107 阅读 · 0 评论 -
最大流 结构体
最大流EdmondsKarp 算法模板struct edge { int from, to, cap, flow; edge (int _from, int _to, int _cap, int _flow):from(_from), to(_to), cap(_cap), flow(_flow){}};struct EdmondsKarp { int n, m; vector ...原创 2018-08-14 20:15:35 · 112 阅读 · 0 评论 -
Dijkstra-优先队列
struct Edge { int from, to, dist; Edge (int _from, int _to, int _dist):from(_from), to(_to), dist(_dist){}};struct Dijkstra { struct node{ int d, u; node (int _d, int _u):d(_d), u(_u){} ...原创 2018-08-14 22:15:45 · 1679 阅读 · 0 评论 -
Floyd
struct Floyd { int n, m; int edge[maxn][maxn]; void init(int n) { this -> n = n; for(int i = 0;i <= n;i ++) for(int j = 0;j <= n;j ++) edge[i][j] = INF; } void addEdge(int s...原创 2018-08-15 10:09:41 · 854 阅读 · 0 评论 -
二分匹配匈牙利算法
struct Hungary { int n, m; // 两个集合点的个数 int vis[maxn], link[maxn]; vector <int> edge[maxn]; void init(int n, int m) { this -> n = n; this -> m = m; memset(link, -1, sizeof...原创 2018-08-15 15:35:11 · 148 阅读 · 0 评论 -
hdu 1151
Air RaidTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6389 Accepted Submission(s): 4230 Problem DescriptionConsider a town where...原创 2018-08-15 17:13:43 · 219 阅读 · 0 评论 -
四边形不等式算法证明
ps:本人小白,文章可能存在错误,希望大佬谅解或指出错误先来看一道常规的区间dp,在这里以石子合并为例题题目描述:有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。输入有多组测试数据,输入到文件结束。每组测试数据第一行有一个整数n,...原创 2018-10-12 13:51:08 · 4853 阅读 · 5 评论