原题
翻译
首先 O(n2logn) 的 dp 是 simple 的,我们设 dpi,0/1 表示以 i 为根, i 到 fai 这条边删/不删的最小权值和。转移是一个非常 trick 的问题,只需要假设所有都选 dpi,0 ,然后把所有儿子按照 dpv,1+w(u,v)−dpv,0 排序,选前 degu−X 个即可。其中 X 为你在外层枚举的限制度数。
排序可以直接 sort ,但为了方便优化复杂度,我们用堆来实现
这里有一个非常关键的点:我们发现对于 degu≤X 的这些点他们并不会对答案产生很大的影响,因为他们是不会自己主动删边的,顶多是和他们相连的点删边后牵连到了他。因此我们考虑把这些节点删掉,而和他相连的边合并到每个未被删掉节点的堆中,这样原来的树就会慢慢变成几个比较稀疏的森林,然后问题就变得好做了。对于每一个森林,我们只需要像朴素 dp 转移一样暴力取出前 degu−X 个最大的值然后更新答案即可,最后别忘了再把堆还原回去
这复杂度感觉不对,但又感觉是对的,因为直觉上不会所有节点的 degu 都很大。我们发现一个点 u 只会堆
的,因此复杂度是 O(nlogn)
哦懂了懂了,等比数列求和。
(3) 到 (4) 是怎么转移的,大佬orz
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?