HDU 5215 Cycle(dfs判环)】的更多相关文章

题意 题目链接 \(T\)组数据,给出\(n\)个点\(m\)条边的无向图,问是否存在一个奇环/偶环 Sol 奇环比较好判断吧,直接判是否是二分图就行了.. 偶环看起来很显然就是如果dfs到一个和他颜色不相同的点,说明出现偶环. 但事实上有一种情况没考虑到. 像这样 显然1 2 4 5会形成一个环 显然该偶环是两个奇环去掉中间的部分构成的. 直接在搜到的奇环上打标记即可,如果一个点被访问了两次,说明存在一个偶环 #pragma comment(linker, "/STACK:102400000,…
#include<bits/stdc++.h>using namespace std;int vis[100007];vector<int>v[100007];vector<int>vt;int deg[100007];void dfs(int a,int nev){//dfs判环    for(auto&x:v[a]){        if(!vis[x]&&x!=nev){//如果有不经过另一个度数为4的环,则图中定有三个环         …
昨天晚上本来想认真打一场的,,结果陪女朋友去了.. 回来之后看了看D,感觉有点思路,结果一直到现在才做出来 首先对所有线段按左端点排序,然后用并查集判所有边是否联通,即遍历每条边i,和前一条不覆盖它的边合并,和后一条不被它覆盖的边合并 再用线段树求边的总条数 ps.其实可以直接用并查集合并的思路,每个点往前往后连边,建图然后DFS判环/联通就可以了 #include<bits/stdc++.h> #include<set> using namespace std; #define…
题目大意是有一个DIMA四种字母组成的矩阵,要在矩阵中找最长的DIMADIMADIMA……串,连接方式为四方向连接,问最长能找到多少DIMA.字母可以重复访问,如果DIMA串成环,即可以取出无限长的DIMA串,则输出特定字符串,若没有DIMA串,也输出另一特定字符串,否则输出最长多少DIMA串. 这是我大一暑假的时候做的,并且当时WA在第23组上,后来就没继续做这个题了,现在不想看大一的代码了. 重新想了一下,其实就是判图中是否有环,无环的话,DIMA的链最长多少,也就是找图中以D字母开头的最长…
Problem UVA818-Cutting Chains Accept:393  Submit:2087 Time Limit: 3000 mSec  Problem Description What a find! Anna Locke has just bought several links of chain some of which may be connected. They are made from zorkium, a material that was frequently…
要点 并没问具体方案,说明很可能不是构造. 思考不断读入这个文本串,然后中间不出现某些文法的串.啊,这就是个自动机. 将不合法串使用ac自动机构成一个Trie图,我们需要的字符串就是在这个自动机上无限走路但是却不会撞到危险节点. 这样只要从根开始跑dfs判有环即存在答案. 注意还要加上ac自动机的性质:某节点的fail指针指向的如果是危险的,则它也是危险的."she"的'e'指向"he"的'e',说明she里有he,也是不可走. #include <cstdi…
题意 https://vjudge.net/problem/CodeForces-1217D 请给一个有向图着色,使得没有一个环只有一个颜色,您需要最小化使用颜色的数量. 思路 因为是有向图,每个环两个颜色就可以满足了.所以最大为2,最小为1. 法1 dfs: 用dfs判断有向图的环,每次把构成环的最后那条边染成2,其余染成1. 法2 拓扑排序: 容易发现,对于一个有向图,如果成环那么点的序号必不是单调的,因为最后的那个点又会连回起始点. 所以我们把u<v染成1,u>v染成2,然后拓扑排序判环…
题目链接 \(Description\) 给定\(n\)个点\(m\)条边的无向图,问是否存在一个长度为奇数/偶数的简单环. \(n\leq 10^5,m\leq 3\times 10^5\). \(Solution\) 容易想到DFS时直接黑白染色.但是只这样会遗漏一种偶环. 对于奇环黑白染色即可,二分图一定不存在奇环,存在奇环一定不是二分图. 对于偶环,因为两个奇环如果有至少一个公共点,它们都去掉公共部分后奇偶性仍相同,就会形成偶环. 所以对于奇环暴力在点上打标记即可. 也可以Tarjan缩…
贝壳找房在遥远的传奇境外,找到了一个强大的魔法师顾问.他有 22 串数量相同的法力水晶,每个法力水晶可能有不同的颜色.为了方便起见,可以将每串法力水晶视为一个长度不大于 10^5105,字符集不大于 10^5105 的字符串.现在魔法师想要通过一系列魔法使得这两个字符串相同.每种魔法形如 (u,\ v),\ u,\ v \le 10^5(u, v), u, v≤105,可以将一个字符 uu改成一个字符 vv,并且可以使用无限次.出于种种原因,魔法师会强行指定这两个串能否进行修改. 若失败输出 -…
http://acm.hdu.edu.cn/showproblem.php?pid=4975 A simple Gaussian elimination problem. Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 579    Accepted Submission(s): 194 Problem Description Drag…