1 条题解
-
0
题解
思路
把目标最大公约数改写为候选整数 :只要能把每个 增加到不小于它的最小 的倍数,就能让最终最大公约数被 整除。
做法
所需操作数为 $\operatorname{cost}(x)=\sum_i(\lceil A_i/x\rceil x-A_i)$。设 。当 时所有数都只能增加到 ,所以这部分的最优候选为 ,且只需在它大于 时计入答案。
对 ,按区间 汇总序列元素:区间内元素需要增加的总量是 ,其中 和 分别是元素个数与元素和。预处理值域上的计数前缀和与数值和前缀和后,每个区间可在 时间计算;枚举所有 的区间总数是调和级数规模。若 就用 更新答案。
复杂度
总时间复杂度为 ,空间复杂度为 ,所有和与费用均需使用 64 位整数。
- 1
信息
- ID
- 1651
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者