专栏文章

题解:P11653 [COCI 2024/2025 #4] 猫 / Tura Mačkica

P11653题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minceeeb
此快照首次捕获于
2025/12/02 00:07
3 个月前
此快照最后确认于
2025/12/02 00:07
3 个月前
查看原文

本篇题解仅详细讨论将基环树转化为树处理的方法!如果您是julao请直接跳过!

序言

起因是本蒟蒻发现题解的dalao们都只是一句话带过了基环树转化为树的部分(可能真的很简单很显然),但是本蒟蒻没有理解!终于我经过七七四十九天的研究过后看懂了。于是记录再此造福后人。
本题解法及其他部分别的题解都已经讲得非常清楚了,这里不过多赘述。

为什么枚举环上边的三种状态?

首先我们简化这个问题。我们称这个我们要枚举的边为关键边,连接顶点 u,vu,v,度数分别为 du,dvd_u,d_v
我们可以发现在多连了关键边之后 u,vu,v 的子树内的边不会被影响,于是我们可以只考虑 u,vu,v 为叶子的情况。
而对于 uu 与它的边,关键边也只会与这条 uu 连向父亲的边一样只会影响 dud_uvv 同理。所以我们只需一样处理就行。

重点:为什么不会漏解?

这个问题的关键是对于一个树,它的解是唯一的
这很好理解,因为我们每次确定叶子的边的状态都是唯一的,于是整个树的解也就是唯一的了。
而我们把枚举关键边后的环部分看做整个树,它同样适用于上面的结论。也就是说当我们确定了关键边的状态之后,整个环的值也就被唯一确定下来了。而如果我们枚举每一条环上的边,对于这个关键边(不是枚举的那条边)也只会确定那三种状态,所以最后的结果仍然是枚举这个关键边状态的三个解的其中一个。
通俗点来讲就是我们就算枚举了整个环,这个边的状态也就那三种,所以答案也就那三种
于是我们就可以愉快的用 O(n+m)O(n+m) 的复杂度切掉此题啦!
制作不易,不喜勿喷

评论

0 条评论,欢迎与作者交流。

正在加载评论...