2019年3月20日水曜日

CS Academy Round #9 - Array Removal

CS Academy Round #9 - Array Removal

素集合に可換モノイドを導入する問題。頻出であるなら、そういう実装を用意してもいいかもしれないと思った。

ところで、もしも非可換な演算だったらどうすればいいんだろう。この問題の場合は連結成分に自然な順序がつく(aAbB(ab)aAbB(ab)\exists a \in A \exists b \in B (a \preceq b) \Rightarrow \forall a \in A \forall b \in B(a \preceq b)) から、特に問題なさそうだが、一般の場合、併合をO(n){\mathcal O}(n)より速くするのは困難に思える。