1 条题解
-
0
红绿塔 题解
思路
最大高度 是满足 的最大整数。把第 层染成红色等价于从 中选择数 ,红色积木总数就是所选数字之和。
记 。若红色用量为 ,绿色用量为 ,合法条件是
因此问题转化为统计集合 中元素和落在该区间的子集数量。
做法
子任务 1 枚举 个子集并统计合法者。
子任务 2 使用二维 0/1 背包, 表示只考虑前 层、红色用量为 的方案数。
完整做法把二维 DP 压缩为一维。按层数从小到大枚举,并将红色用量从大到小更新,保证每层恰好使用一次。最后对合法区间求和。
复杂度
子任务 1 的时间复杂度为 。子任务 2 的时间和空间复杂度分别为 与 。完整做法的时间复杂度为 ,空间复杂度为 。
- 1
信息
- ID
- 1180
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者