题解:CF2029E Common Generator

Xy_top

2024-11-15 22:41:11

Solution

观察到偶数总有因数 2,所以小的偶数一定能转移到大的偶数,那么奇数呢?

观察到奇数不可能有偶数因子,所以奇数进行一步操作后会变回偶数,显然变的偶数越小越优,因为这样可以转移到更多的偶数。

所以说对于每一个奇数 a_i,如果选择的 x 不是 a_i

我们可以考虑先将 x 变为偶数(如果它是奇数),然后再进行若干次 +2 得到另一个偶数,最后再一次操作变为奇数。

这就启发我们对于每个奇数 y,预处理最大能一步到它的偶数。

对于某种奇数,没有偶数能一步到它,那么 x 只能设为这个奇数,然后枚举一下因数看看 x 能到的最小偶数是谁。

如果有超过两个这种奇数,答案显然为 -1。否则答案可以为 2

record