【拓扑序/欧拉路】
文章平均质量分 76
张松超
这个作者很懒,什么都没留下…
展开
-
HDU ~ 1285 ~ 确定比赛名次 (拓扑排序)
题目网址:HDU-1285-确定比赛名次确定比赛名次Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description有N个比赛队(1Input输入有若干组,每组中的第一行为二个数N(1Output给原创 2017-04-11 15:22:09 · 493 阅读 · 0 评论 -
POJ ~ 2230 ~ Watchcow(欧拉回路)
题意:Besis最近做了农场看守,他每天晚上的工作就是巡视农场并且保证没有坏人破坏农场。从谷仓出发去巡视,并且最终回到谷仓。Bessie的视力不是很好,不能像其他的农场看守一样,对农场的每一条连接不同场地的路走一遍就可以发现是不是有异常的情况,他需要每条路走两遍,并且这两遍必须是不同的方向,因为他觉得自己应该不会两次都忽略农场中的异常情况。每两块地之间一定会由至少一条路连接。现在的任务就是帮他制定...原创 2018-01-15 16:33:38 · 400 阅读 · 0 评论 -
POJ ~ 1386 ~ Play on Words (欧拉路)
题意:给你n个单词(只有小写),要求这些单词首尾相连,问你这n个单词能不能全部连起来,可以连成一条链或者连成一个环。思路:顶点集合就是26个小写字母,用0到25来表示,每个单词的首字母到尾字母就是一条有向边,因为单词是不能倒回来的。其实就是问你这个图是否存在欧拉道路(一条链的情况)或者欧拉回路(环的情况),反正存在欧拉路就是成功的,否则就是失败。①有一个入度比出度大一的点&&有一个出度比入原创 2018-01-25 18:06:21 · 348 阅读 · 0 评论 -
POJ ~ 2337 ~ Catenyms (欧拉路 + 路径输出)
题意:给你n个单词(只有小写),要求这些单词首尾相连,问你这n个单词能不能全部连起来,可以连成一条链或者连成一个环,如果可以输出路径,不可以输出“***”。思路:先判断度数,然后判断图的连通,在回溯的时候记录路径。虽然AC了但是还是有一个地方不是很明白,看来对递归和回溯的过程理解还是不够啊。不明白的地方:cnt是全局变量,对于dfs过程,如果过程中选择了错误的路怎么办?为什么却能求出正...原创 2018-01-27 12:30:07 · 306 阅读 · 0 评论 -
UVA ~ 1572 ~ Self-Assembly (拓扑排序)
题意:有n(n≤40000)种边上带标号的正方形。每条边上的标号要么为一个大写字母后面跟着一个加号或减号,要么为数字00。当且仅当两条边的字母相同且符号相反是,两条边能够拼到一起(00不能和任何边拼在一起,包括另一条标号为00的边)。假设输入的每种正方形都有无穷多种,而且可以翻转和旋转,你的任务是判断能否组成一个无限大的结构。每条边要么悬空(不喝任何边相邻),要么和一个上述可拼接的边相邻。如图6-...原创 2018-05-20 20:15:44 · 364 阅读 · 0 评论 -
UVA ~ 10305 ~ Ordering Tasks (拓扑排序)
题意:假定有n个变量,还有m个二元组(u,v),分别表示变量y小于v。那么,所有变量都从小到大排列起来应该是什么样子呢?例如有4个变量a,b,c,d,若已知a<b,c<b,d<c,则这四个变量的排序可能是a<d<c<b。尽管还有其他可能(d<a<c<b),你只需要输出其中一个即可。【分析】把每个变量看成一个点,“小于”关系看成有向边,则...原创 2018-05-15 09:49:38 · 300 阅读 · 0 评论 -
UVA ~ 10129 ~ Play on Words (欧拉路)
题意:输入n(n≤100000)个单词,是否可以把所有这些单词排成一个序列,使得每个单词的第一个字母和上一个单词的最后一个字母和上一个单词的第一个字母相同(例如acm,malform,mouse)。每个单词最多包含1000个小写字母。输入中可以有重复的单词。【分析】把字母看作结点,单词看成有向边,则问题有解,当且仅当图中有欧拉路径。前面讲过,有向图存在欧拉道路的条件有两个:底图(忽略边方向后得到的...原创 2018-05-15 11:45:03 · 236 阅读 · 0 评论 -
Codeforces Round #532 (Div. 2) (A,B,C,D,E,F)
A. Roman and Browsern个数只有(1/-1),你可以选择一个位置b,然后把所有c位置的数删除,c=b+i*k ( i 可以为任意整数),求的最大值思路直接暴力枚举b然后搞一遍就OK#include <bits/stdc++.h>using namespace std;const int MAXN = 1e5 + 5;int n, k, a[M...原创 2019-03-27 17:07:26 · 537 阅读 · 0 评论