简化后的题意:
给一个n<=1000, m<=50000的图,有两种操作:
1、把一个节点拆成几个节点,拆法可以任意。 2、合并两个度为1的节点
问
原图不一定连通,可能有重边自环。最少需要多少步操作把图弄成环。这些操作中节点的个数不重要,但边的个数保持不变。
硬核分类讨论。
首先要考虑到每个节点最多只用拆一遍。然后合并操作可以放到最后。
这样只用考虑哪些点需要拆分,拆分后需要多少次合并操作。
对于最简单的情况(连通,没有自环),显然度>=3的节点需要拆,那么拆完之后是一些链。要让这些链个数最少,就是这个图需要几笔画。所以这时候答案就是(度>=3节点数+奇数度节点数/2)。
对于自环、不连通、已存在环等情况也需要分别讨论。