OI
Solution CF1305F Kuroni and the Punishment
题意简述: 给定长度为 n 的数组 a_i。每次你可以花费 1 的代价使 a_i 加上或者减去 1。要求最小化代价使得所有 a_i 都是质数 k 的倍数。n \leq 10^5,\ a_i \leq 10^{12}。 思路分析: 首先我们令 k = 2,得到 ans \leq n。也就是说,对于最优解的画面,至多有 \lfloor \frac n 2 \rfloor 个整数的变化幅度超过 1。 设定阀值 \omega,我们随机从 a_{1 \dots n} 中选择 k 个数 x_{1 \dots k},每次检查 x-1,x,x+1 的每个质因子是否为答案。复杂度为 O(n \sigma (a) Read more…