摘要: 同样是找dfs树,这题如果本身就是树,那么直接奇偶找大的遍历 如果是图,建立dfs树,如果全部的环都是>=k的,这样只需要找到一个环,之后隔着输出就是答案,因为这样总是能找到(k+1)/2 不然的话直接把环输出就行 #include<bits/stdc++.h> using namespace st 阅读全文
posted @ 2020-07-19 23:14 朝暮不思 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 对于图建立dfs树,这样只存在树边和B边,不会存在横叉边,这也是tarjan算法的思想 建立dfs树后,我们发现任意一条B边都会生成一个环,且所有b边就是所有环 我们进行dfs栈的建立,找到如果存在满足条件的环,那就直接输出 如果不存在,我们证明肯定存在满足条件的独立集。因为根据鸽巢定理,每个点一定 阅读全文
posted @ 2020-07-19 21:41 朝暮不思 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 用list维护每个节点能往外的信息,list有一个splice函数可以在list后面合并新的list,这样操作方便,之后其实就是暴力并查集+bfs,注意去重。 #include<bits/stdc++.h> using namespace std; typedef long long ll; typ 阅读全文
posted @ 2020-07-19 10:19 朝暮不思 阅读(226) 评论(0) 推荐(0) 编辑