[ABC294Ex] K-Coloring
考虑 dfs 后搞出 dfs 树,考虑若干返祖边有限制,那么,我们一个朴素的想法是枚举这些有被返祖边搞到的点的颜色,但这样最坏是 的。
但显然一条返祖边在钦定完一个端点的颜色之后,另一端的颜色便可以不用钦定,因此指数可以减小一点。
那么我们可以钦定每个返祖边深度小的点的颜色,但是直接钦定是 的, 是返祖边深度小的点的集合大小。考虑我们并不关心其真正的颜色是什么,因此这东西可以集合划分后再给每个集合分配颜色。
那么这样子,你就有若干点的颜色钦定了,记钦定的颜色数量为 ,但整棵树的染色显然不可能只用 种,但其他的颜色我们都是未钦定的,考虑另分一类给这些颜色。
记 表示 为第 种颜色的时候,其子树内染色的方案数。
考虑转移,对于树边的转移是朴素的。
对于返祖边的话,由于我们已经钦定了深度小的点的颜色,那么当前点的颜色也必须与其相同,不相同的方案数直接没了即可。
注意之后方案数应乘上对该集合划分分配颜色的方案数。
不重不漏的证明:考虑一种合法的染色方案,显然会被在钦定其返祖点的颜色时钦定到这种方案,且只钦定到一次。假如一种方案被钦定了两次的话。若颜色划分的集合不同,那么两种染色方案一定不同。若颜色划分的集合相同,但对集合分配的颜色方案不同,则两种染色方案一定不同。则关键,在于转移。而我们的转移并不会重算同一种方案,因为其都是子树各自考虑而又独立合并的。所以一种方案不会被钦定多次。
__EOF__

本文作者:F x o r G
本文链接:https://www.cnblogs.com/xugangfan/p/17236869.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/xugangfan/p/17236869.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2022-03-20 P6619 [省选联考 2020 A/B 卷] 冰火战士
2022-03-20 D - Prefix XORs