图论——欧拉路
·马克图布·
如果人生真的可以分为几个阶段的话,那么我现在就在感觉自己很普通,并一无是处的那个阶段。
展开
-
poj1386 Play on Words(欧拉道路判定)
题意:给你n个单词,然后问你是否可以组成“单词接龙”。思路:因为曾经看过这道题目,所以一开始便往欧拉道路上想。然而还是走岔道了。。。建图应该把给定的单词当做边,而不应该当做节点!所以一共有26个节点,每条边连接两个节点。最后是关于欧拉道路的判定:有向图弱连通,节点的度数入度全部等于出度 或者 有两个奇数节点并且一个节点入度 - 出度等于 1 ,一个节点入度 - 出度等于 -1...原创 2019-11-02 20:43:57 · 192 阅读 · 0 评论 -
poj2513 Colored Sticks(欧拉道路判定)
题意:和poj1386差不多,题意是给你若干根木棍,然后每个木棍头尾都有一种颜色,那么能够将 所有木棍排成一根线,使得在木棍交接的地方颜色是相同的。思路:欧拉道路判定。但是!!!这个是无向图啊,因为一根木棍可以从头走到尾,也可以从尾走到头,而单词只能从头走到尾。唉,建图要注意啊,首先要分析这是有向图还是无向图。AC Code:#include<iostream>#inc...原创 2019-11-03 09:30:52 · 158 阅读 · 0 评论 -
hdu3018 Ant Trip(欧拉道路的性质)
题意:给你一个图,可能不连通,问你需要几笔把所有边不重复的覆盖。思路:欧拉回路的一个性质:对于一个连通图而言,有这样的一个性质:其需要画的笔数=度数为奇数的点数除以2,那么由于给出的图并没有说明是否是连通图,我们需要用并查集来维护连通图,并且忽略单点的“子图”。虽然早先就知道这个性质了,但是还是做了不少时间。还会码力不够。。。AC Code:#include<ios...原创 2019-11-01 12:19:10 · 212 阅读 · 0 评论 -
poj2230 Watchcow(欧拉回路)
Total Submissions: 9961 Accepted: 4297 Special Judge DescriptionBessie's been appointed the new watch-cow for the farm. Every night, it's her job to walk across the farm and make s...原创 2019-06-08 20:42:54 · 244 阅读 · 2 评论 -
欧拉回路
欧拉道路:能否从无向图的一个结点出发走出一条道路,每条边恰好经过一次。这样的路线称为欧拉道路(eulerian path),也可以形象地称为“一笔画”。无向图存在欧拉道路的充分条件: 如果一个无向图是连通(并查集)的 ,且最多只有两个奇点,则一定存在欧拉道路。如果有两个奇点,则必须从其中一个奇点出发,另一个奇点终止:如果奇点不存在,则可以从任一点出发,最终一定会回到该点的(称为欧拉...原创 2019-06-03 23:27:28 · 466 阅读 · 0 评论 -
一笔画问题
【题目描述】如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历;找欧拉路,则对一个奇点执行dfs,时间复杂度为O(m+n),m为边数,n是点数。【输入】第一行n,m,有n个点,m条边,以下m行描述每条边连接的两点。【输出】欧拉路或欧拉回路,输出一条路径即可。...原创 2019-06-03 23:27:55 · 1811 阅读 · 0 评论 -
P2731 骑马修栅栏 Riding the Fences(欧拉回路)
题目背景Farmer John每年有很多栅栏要修理。他总是骑着马穿过每一个栅栏并修复它破损的地方。题目描述John是一个与其他农民一样懒的人。他讨厌骑马,因此从来不两次经过一个栅栏。你必须编一个程序,读入栅栏网络的描述,并计算出一条修栅栏的路径,使每个栅栏都恰好被经过一次。John能从任何一个顶点(即两个栅栏的交点)开始骑马,在任意一个顶点结束。每一个栅栏连接两个顶点,顶点用1到5...原创 2019-06-11 15:32:28 · 203 阅读 · 0 评论