Official

E - Increasing LCMs Editorial by maroonrk_admin


\(A_i\)\(x\) の最後尾に来ることができる必要十分条件は, \(\operatorname{GCD}(\operatorname{LCM}_{j \neq i}(A_j),A_i) < A_i\) であることです. これは,\(\operatorname{LCM}_{j \neq i}(\operatorname{GCD}(A_j,A_i)) < A_i\) と書き直せます.

このような \(A_i\) が存在しない場合,答えは No です. 逆に存在する場合は,そのような \(A_i\) の中から任意に一つ選んで,それを \(x\) の最後尾の要素にして良いです. これは,解が存在する場合,任意の解をとり,今選んだ \(A_i\) を最後尾に移動させても解として成立することからわかります. よって,\(x\) を最後尾から一つずつ決めていくことができます.

計算量は愚直に計算した場合でも \(O(N^3\log (\max(A_i)))\) であり,十分高速です.

posted:
last update: