题目链接:https://www.luogu.com.cn/problem/CF521E
这道题考的主要是优化建图,对于增强思维模式起到很深的作用
一般考试的话考的是怎么样建图,来描述各种关系
总之一句话,积累模型吧(积累套路)
题解:考虑两条路径怎么做,非常简单,随便找一个点数>2的点双,根据定义,其合法,画个图
观察到1,3,4都有解,(2条路的时候)
注意到答案只可能在一个点双内部(关键结论)
手玩一下发现,一个点双(无重边)有解,iff其非一个简单环,现在是3条路径了,比如1有解,2,3,4显然无解,比如1有解,2,3,4显然无解
现在只需吧任意一个边数>点数的点双单独拎出来
其他点和边扬了 新图中一旦有一个度数>3的点(事实上一定有)就以他为起点,跑三条路,先找到一个环(包含S),把那个环扬了,再从S开始深搜即可,搜到环上的点,就结束(dfs树的思想)
当然了,题解的暴力覆盖也很秒