CF1416B Make Them Equal
论我脑子有点问题这一事。
发现如果 i = 1 i = 1 i=1 这个肯定是很好做的,我们考虑将每个数都放到位置 1 1 1 上,每个数最多被使用 3 3 3 次,所以复杂度是 O ( 3 ( n − 1 ) ) O(3(n - 1)) O(3(n−1))。
我们具体来说,对于一个位置 j j j,如果 j ∣ a j j | a_j j∣aj 显然我们直接将其放到位置 1 1 1 上即可,不然的话我们考虑将这个位置补齐即可。
我们考虑通过归纳法证明这个事情,如果前 i i i 个数是合法的,对于第 i + 1 i + 1 i+1 个数,最多需要 i i i 个单位才能变成整除。而前面位置都是合法的,所以肯定有 ≥ i \ge i ≥i 个单位在 1 1 1 上,那么肯定是合法的。
#inclu