CF1416B Make Them Equal 题解

本文详细解析了CF1416B Make Them Equal的问题,探讨了当i=1时的简单解决方案,并提出将每个数放到位置1上,保证不超过3次使用的复杂度优化方法。通过归纳法证明了策略的合法性,阐述了如何处理不满足条件的位置,确保数组中每个元素都能被整除。
摘要由CSDN通过智能技术生成

CF1416B Make Them Equal

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(n1))

我们具体来说,对于一个位置 j j j,如果 j ∣ a j j | a_j jaj 显然我们直接将其放到位置 1 1 1 上即可,不然的话我们考虑将这个位置补齐即可。

我们考虑通过归纳法证明这个事情,如果前 i i i 个数是合法的,对于第 i + 1 i + 1 i+1 个数,最多需要 i i i 个单位才能变成整除。而前面位置都是合法的,所以肯定有 ≥ i \ge i i 个单位在 1 1 1 上,那么肯定是合法的。

#inclu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值