ABC-267解题报告
D. Index × A(Not Continuous ver.)
令
E. Erasing Vertices 2
可以想到一个很显然的贪心策略:每次取邻居的权值和最小的节点删除。
具体实现上可以采用类似堆优化
F. Exactly K Steps
首先可以想到和树的直径有关。
做法 1(赛时做法)
对于在直径上的点,距离为
对于不在直径上的点,可以“向直径跑
做法 2
设直径的两端分别为
G. Increasing K Times
一个排列计数题,可以考虑从小往大插入数。
状态:设
转移:新插入的数一定是所有数中最大的,从这点入手转移。先考虑什么时候增长的次数不变?放在一个本来就增长的两个数中间。这种情况的方案为
只有这一种情况吗?当然不是。还可以放在“与它相同的数”的后面。这种情况有
综上,
什么时候增长的次数会改变?自然是除了以上的情况都会改变。而显然改变只能多 1 次增长,所以
所以转移方程为:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步