「杂题乱刷2」CF2040D
题目链接
解题思路
挺好的题啊,赛时 10min 胡了个正解,但是
解法一
赛时做法。
可以看出当前无论怎么填,只要状态合法,那么一定有至少一种方案可以将整棵树都被填满,但是我不会证明啊。
于是我们就有一个暴力做法,那就是直接钦定根节点的值为
感觉时间复杂度是
发现上述算法的瓶颈只在于暴力枚举,我们又注意到
时间复杂度近似
解法二
应该是正经做法吧。
发现相邻节点结点填差为
尽量多构造这种东西,然后就下来形如构造
容易证明上述构造的权值可以
其他题解应该讲的挺清晰了吧,在此不再叙述代码细节。
时间复杂度
参考代码
解法一的代码,觉得有问题的可以来 hack。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步