题解:CF2038B Make It Equal

· · 题解

首先注意到对所有数操作 1 次对答案的判定不变。于是我们可以随意操作到所有数相等,再调整到最优状态,不妨直接考虑将所有数变成 0

扫的过程中,如果某个时刻已经符合条件就退出;如果某个时刻不合法且都无法操作则无解。

实现过程中,每个数每次除以 2,一个数最多对 \log V 次操作有贡献,时间复杂度 \text{O}(n \log V)

link