
欧拉图
Icefox_zhx
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj1637 Sightseeing tour(混合图欧拉回路,最大流)
判断混合图是否存在欧拉回路。首先有关欧拉回路的一些定义: 如果图G中的一个路径包括每个边恰好一次,则该路径称为欧拉路径(Euler path)。 如果一个回路是欧拉路径,则称为欧拉回路(Euler circuit)。 具有欧拉回路的图称为欧拉图(简称E图)。具有欧拉路径但不具有欧拉回路的图称为半欧拉图。有关欧拉回路的一些性质: 以下判断基于此图的基图连通。 无向图存在欧拉回路的充要条件:原创 2018-01-08 16:03:07 · 487 阅读 · 0 评论 -
bzoj2095 [Poi2010]Bridges(二分答案+混合图欧拉回路,最大流)
这题题目描述有毒。原题是要求经过每座桥一次且一次。要求经过的最大风力的最小值。我们二分答案,每次就相当于判断一个混合图是否存在欧拉回路。注意如果一条桥断掉了,要直接返回false,因为不可能通过这座桥了。至于如何判断一个混合图是否存在欧拉回路,见这里。原创 2018-01-08 17:22:33 · 408 阅读 · 0 评论 -
uoj236 【IOI2016】railroad(欧拉图+最小生成树)
首先我们对每一个速度建一个点,然后对于每一个路段(s,t),建边s->t。这样我们就是求可以在这张图中添加一些边,要求经过每条边恰好一次。 我们添加一条(inf,1)的边,这样就是要求把这张图变成欧拉图。 考虑这样一个区间[x,x+1][x,x+1][x,x+1] , 只有满足s≤x,t≥x+1s≤x,t≥x+1s≤x,t≥x+1的边与满足t≤x,s≥x+1t≤x,s≥x+1t≤x,s≥...原创 2018-06-20 21:54:13 · 953 阅读 · 0 评论 -
uoj117 欧拉回路(输出欧拉回路模板)
欧拉图判定条件: 无向图: 连通且每个点的度数均为偶数。(可以有孤立点) 有向图: 连通且每个点的入度等于出度。(可以有孤立点) 输出回路: 套圈法,可以搜出没有公共边的若干子回路,并成一个就好了。于是可以用栈把搜到的圈(边)存下来即可。 需要优化一下邻接表(类似Dinic的当前弧优化),复杂度O(m)O(m)O(m) #include <bits/stdc++.h> ...原创 2018-06-20 22:58:27 · 821 阅读 · 0 评论 -
CF547D Mike and Fish(欧拉图)
考虑行列建点,每个点变成边。 如果是欧拉图,那么每个点的入边=出边,考虑每一个行点,把入边都染成r,出边都染成b那么就一样多了。 但是有可能一开始不是个欧拉图,我们可以对度数为奇数的点两两配对(一定有偶数个),然后就一定是个欧拉图了。跑无向图输出欧拉回路即可。 复杂度O(n)O(n)O(n) #include <bits/stdc++.h> using namespace st...原创 2018-07-12 14:41:02 · 974 阅读 · 0 评论