CF1929E. Sasha and the Happy Tree Cutting

Problem - 1929E - Codeforces

  • 无意看一眼标签是 dp 就一直朝树形状压 dp 的方向想了一年,发现不是树形 dp

  • dpS 为完成集合 S 内的限制所需要的最少边数

  • 把每一对顶点的路径上每条边的值都状压,表示添加这条边可以实现的限制有哪些,记为 bi

  • 因此有:

  • dpS=min{dpSbi+1}

  • 但是还没有结束,因为直接这么做是 O(nk+2kn)

  • 这里需要一个重要结论:不同种类的 bi 只有 O(k)

  • 考虑把一个 L 型的限制对拆成两个 I 型的,种类数一定不会减少

  • 而对于每一个加入的 L 性,显然最多增加两种类型

  • 因此最终种类数是 O(k)

  • 因此我们只需要把 bi 去重即可做到 O(nk+2kk)

posted @   FOX_konata  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示