2024.10.7 test
nf #33
B
有一棵包含
求删除所有节点所需的最少操作次数和通过最少次操作删除所有节点的方案数。
显然,操作次数最少为树的深度,只需要不停操作根节点即可满足。
其次,我们能删除的点,一定满足在这棵树内不存在与其深度相同的点,所以一定在最长链上。
那么我们考虑把最长链拿出来 dp,且其长度是
对于链上每个点,求出
不难发现,我们可以把子任务划分为区间的形式,也就是当前分割出深度
我们每次操作,相当于把当前所在区间割裂,然后使深度大的区间里的
操作的条件是对于深度小的点里,
所以我们还需要再加一维状态表示当前整个区间被深度小的点减了多少次,设为
那么,
其中枚举的
这个题你需要观察出选择的点都在最长链上的性质,然后转化为一个简单的 dp。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现