poj 1637 混合图欧拉回路 学习笔记】的更多相关文章

题目大意 求混合图是否存在欧拉回路 做法 有向边我们只有增加入度出度 对于无向边,我们给它设定一个初始方向 如果不能满足|入度-出度|为偶数,无解 然后在网络流图中, 设设定方向的反向连一条边,表示反悔流量 对于最后in>out的点,最多可以提供反悔(in-out)/2点反悔流量,从源点连向它 对于out>in的点,至少接受(out-in)/2点反悔流量,连向汇点 跑一次网络流判断是否满流 由于图中一条边提供一个入度,一个出度 所以图中总入度是等于总出度的 网络流中两边流量是一样的 注意 sb…
先来复习一下混合图欧拉回路:给定一张含有单向边和双向边的图,使得每一点的入度出度相同. 首先对于有向边来说,它能贡献的入度出度是确定的,我们不予考虑.对于无向图,它可以通过改变方向来改变两端点的出入度.好的,我们不妨先将这些无向边随意定向,因为欧拉回路要求每点入度 = 出度,也就是总度数为偶数,存在奇数度点必不能有欧拉回路,所以我们先扫一遍总度数看看是否为偶数,如果是奇数我们弃疗就好. 接下来我们要尝试着修复这些无向边的方向使得度数平衡.首先细化问题到每一个点:对于点u,如果它的入度大于出度,那…
题意:一张混合图,判断是否存在欧拉回路. 分析参考: 混合图(既有有向边又有无向边的图)中欧拉环.欧拉路径的判定需要借助网络流! (1)欧拉环的判定:一开始当然是判断原图的基图是否连通,若不连通则一定不存在欧拉环或欧拉路径(不考虑度数为0的点). 其实,难点在于图中的无向边,需要对所有的无向边定向(指定一个方向,使之变为有向边),使整个图变成一个有向欧拉图(或有向半欧拉图).若存在一个定向满足此条件,则原图是欧拉图(或半欧拉图)否则不是.关键就是如何定向? 首先给原图中的每条无向边随便指定一个方…
前面讲过了无向图,有向图求欧拉回路,欧拉通路的做法.可以直接根据度数来判断,当然前提是这是一个连通图. 这道题既有无向边,又有有向边,然后求欧拉回路. 采用的方法是最大流. 具体处理方法. 首先,我们对无向边,进行随意定边.定完边之后,求出每个点的出度入度.如果某个点的出度入度之差为奇数,那么就无法形成欧拉回路. 接下来所有的点的度数之差都是偶数了,对于有向边,我们不需要处理. 对于无向边,我们给初始随意定的边的方向,流量+1,即如果一条无向边,a - b,我们初始给他定边是a -> b,那么我…
嗯,这是我上一篇文章说的那本宝典的第二题,我只想说,真TM是本宝典……做的我又痛苦又激动……(我感觉ACM的日常尽在这张表情中了) 题目链接:http://poj.org/problem?id=1637 Time Limit: 1000MS Memory Limit: 10000K Description The city executive board in Lund wants to construct a sightseeing tour by bus in Lund, so that t…
http://poj.org/problem?id=1637 题意:给出n个点和m条边,这些边有些是单向边,有些是双向边,判断是否能构成欧拉回路. 思路: 构成有向图欧拉回路的要求是入度=出度,无向图的要求是所有顶点的度数为偶数. 但不管是那个,顶点的度数若是奇数,那都是不能构成的. 这道题目是非常典型的混合图欧拉回路问题,对于双向边,我们先随便定个向,然后就这样先记录好每个顶点的入度和出度. 如果有顶点的度数为奇数,可以直接得出结论,是不能构成欧拉回路的. 那么,如果都是偶数呢? 因为还会存在…
[题目大意]混合图欧拉回路(1 <= N <= 200, 1 <= M <= 1000) [建模方法] 把该图的无向边随便定向,计算每个点的入度和出度.如果有某个点出入度之差为奇数,那么肯定不存在欧拉回路.因为欧拉回路要求每点入度 = 出度,也就是总度数为偶数,存在奇数度点必不能有欧拉回路. 好了,现在每个点入度和出度之差均为偶数.那么将这个偶数除以2,得x.也就是说,对于每一个点,只要将x条边改变方向(入>出就是变入,出>入就是变出),就能保证出=入.如果每个点都是出…
题目链接:http://poj.org/problem?id=1637 Sightseeing tour Time Limit: 1000MS   Memory Limit: 10000K Total Submissions:10837   Accepted: 4560 Description The city executive board in Lund wants to construct a sightseeing tour by bus in Lund, so that tourist…
2095: [Poi2010]Bridges Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 604  Solved: 218[Submit][Status][Discuss] Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛.现在YYD想骑单车从小岛1出发,骑过每一座桥,到达每一个小岛,然后回到小岛1.霸中同学为了让YYD减…
题目请戳这里 题目大意:求混合图欧拉回路. 题目分析:最大流.竟然用网络流求混合图的欧拉回路,涨姿势了啊啊.. 其实仔细一想也是那么回事.欧拉回路是遍历所有边一次又回到起点的回路.双向图只要每个点度数为偶数即可,有向图要保证所有点入度等于出度.求路径的话,dfs即可. 混合图的话,就比较复杂.首先将有向边定向,求出所有点的入度和出度,如果某个点入度和出度之差为奇数,则一定不存在欧拉回路,因为对于混合图,无向边可以任意指定方向,但是无论指定哪个方向,如果取反向的话,只会影响端点的一个出度和一个入度…