图论
文章平均质量分 50
jesHrz
这个作者很懒,什么都没留下…
展开
-
网络流 模板
Dinic+当前弧优化 O(n^2m)链式前向星的下标要从偶数开始,head初始化为-1const int N = 105;struct edge { int to, next, flow; }e[N*N*2];int cnt, head[N];namespace MaxFlow{ int cur[N], depth[N]; int dfs(int u, int ...原创 2018-08-11 15:04:00 · 96 阅读 · 0 评论 -
LCA倍增 模板
LCA倍增 最近公共祖先构造 NlogN 查询 ogN先调用pre()构造对数数组 再调用dfs(root, 0, 0)查询深度 再调用work()构造跳表最后调用lca(u, v)查询在有根树中节点u和v的最近公共祖先const int N = 10005;struct edge { int to, next; } e[N << 1];int n, head[...原创 2018-08-08 13:56:00 · 121 阅读 · 0 评论 -
Straight Master Gym-101775J (差分)
题目来源 Straight Master题意有n种扑克牌,每种扑克牌有ai张,每次可以打出3到5张连续的牌作为顺子,问这副牌能不能用顺子全打出来思路换一个思路,给定一个长度为0的序列,每次可以选择长度为3,4,5的区间并将这个区间内的数全部加一,最终可以得到一个新的序列,问这个序列的每个数分别是多少,这个序列就是给定的n种扑克牌。对于这个问题,可以用差分的思想,对于区间[L, ...原创 2018-08-02 11:21:00 · 154 阅读 · 0 评论 -
A Walk Through the Forest HDU - 1142(Dij+记忆化搜索)
题目来源: A Walk Through the Forest题意你要从编号为1的办公室回到编号为2的家里,每次移动只会从当前点移动到 到家的最短路小于当前点到家的最短路 的点上,问一共有多少种回家的路线思路先求出所有点到家的最短路,然后进行搜索。暴力搜索会超时,考虑记忆化搜索。数组f[i]记录当前点回到家的路线条数,对于当前点u来说f[u]=所有与u相邻接的点的f值的和。求和的过...原创 2018-07-27 19:53:00 · 117 阅读 · 0 评论 -
Candies POJ - 3159(差分约束+栈优化SPFA)
题目来源: Candies题意现在给n个小朋友分糖果,给出m条语句A B C表示小朋友A认为给B的糖果不能比自己多C(可以等于C),问小朋友N与小朋友1的糖果数量差最少是多少思路给出的m条语句表示的意思写成数学语言为给A的糖果数和给B的糖果数满足B-A<=C。这就变成了典型的差分约束系统,可以从点B到点A建立一条权值为c的有向边,最终要求的即为点N到点1的最短路。这个题如果...原创 2018-07-27 19:43:00 · 153 阅读 · 0 评论 -
最短路 模板
堆优化的Dijkstra NlogN 邻接表#include &lt;utility&gt;#include &lt;queue&gt;typedef std::pair&lt;int, int&gt; P; //first为点的编号, second为边的权值const int N = 100005;int dis[N];vector&lt;P&gt;e[N];原创 2019-02-27 18:21:41 · 200 阅读 · 0 评论 -
Bridges Gym - 100712H (Tarjan缩点)
题目来源: 2015 ACM Amman Collegiate Programming ContestStatementAn edge in an undirected graph is a bridgeif after removing it the graph will be disconnected.Given an undirected connected graph, yo...原创 2018-07-24 11:21:00 · 153 阅读 · 0 评论