1 条题解
-
1
在《算法竞赛进阶指南》上也有证明,设 代表求解 盘 柱的最少步数,那么我们可以将这个 柱分解成两个 柱的来看,设 代表求解 盘 柱的最少步数,则有递推式:
其中 ,代表我们先把 个盘子移动到 柱,将 个盘子移动到 柱,最后把 个盘子移动到 柱。
时间复杂度严格小于 。
代码就不放了。
番外:
做这个题的时候是大佬 @Programming_Konjac 打表发现了一些规律后先 AC 了,后来他告诉我,我也 AC 了,再后来大佬 @zouyihang 对这个式子进行了证明并成功,同时,他也对这个题目进行了复杂度的进一步优化,有望搞到 。目前好像到了 ,具体的我现在也不清楚。至后期我发现了在《算法竞赛进阶指南》上也有这道题目做法的证明。
- 1
信息
- ID
- 327
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 23
- 已通过
- 12
- 上传者