1 条题解
-
0
题解
思路
一个乘积的末尾零数等于其质因子 和 的总指数较小者。记第 个数的两个指数为 ,问题变为选择 对,使 最大。
做法
设 为选了 个数、因子 总数为 时,因子 总数的最大值。逐个数倒序更新。答案为 。由于 ,每个数的因子 不超过 ,总状态范围至多 。
小规模枚举全部子集。若所有数都是 的幂,每个数的两个指数相等,直接选择指数最大的 个。独立 Oracle 使用复制上一层的滚动表转移,与标程的原地倒序更新互证。
正确性证明
状态精确记录选择数量和因子 总数,并在相同状态下保留最大的因子 总数;较小值不可能在任何后续选择中反超,因此可安全舍弃。每个数的选与不选均被转移覆盖,归纳后 包含所有合法选择的最优代表。枚举 取两类指数较小者的最大值即为答案。
复杂度
时间复杂度 ,空间复杂度 ,其中 。
- 1
信息
- ID
- 1493
- 时间
- 2000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者