You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
N個の数列の中のmexとしてあり得るのはN以下しかないということに気づけるといい。 N <= 2 * 10 ** 5 なので、全列挙できる。
Aの集合をmultisetで管理する。multiSetにしたいのは、後述するmex候補にできるかを判定したり、Aの値を変更するときに変更された値が他にAに残っていなかったらmex候補に追加する、といった処理を高速に行いたいから。 0 < i < n のiでAに存在しないもの集合をmex候補としてSortedSetで管理する。
クエリにたびにAとmex候補を更新して、mex候補の最小値がmexになる。
https://atcoder.jp/contests/abc330/tasks/abc330_e
問題概要
数列Aが与えられる。
以下のクエリにQ回対応せよ。
解き方
N個の数列の中のmexとしてあり得るのはN以下しかないということに気づけるといい。
N <= 2 * 10 ** 5
なので、全列挙できる。Aの集合をmultisetで管理する。multiSetにしたいのは、後述するmex候補にできるかを判定したり、Aの値を変更するときに変更された値が他にAに残っていなかったらmex候補に追加する、といった処理を高速に行いたいから。
0 < i < n
のiでAに存在しないもの集合をmex候補としてSortedSetで管理する。クエリにたびにAとmex候補を更新して、mex候補の最小値がmexになる。
https://atcoder.jp/contests/abc330/submissions/60019230
The text was updated successfully, but these errors were encountered: