CF1872G Replace With Product 题解

Super_Cube

2024-11-19 19:58:11

Solution

Solution

先判掉全 1 或全不为 1 的情况。

设从左往右第一个非 1 的位置为 l,从右往左第一个非 1 的位置为 r。如果 l\sim r 的乘积足够大就直接选择它们为答案,否则 l\sim r 中只会有 \log 个非 1 位置,答案的端点只有可能在这些位置取到,暴力判断即可。

时间复杂度:O(n+\log^2 n)