y[j])を辺とするようなグラフを考える。このグラフの各連結成分内では要素は各辺を介したスワップによって自由に配置できる。よって頂点iを含む連結成分にp[i]が含まれるかを調べればいい。Find木を使うと便利。1<=i<=Nを挿入していく。queueに挿入していく。ダイクストラ法で辺によって隣接する頂点を追加するのに似ている。Tree隣接要素同士の交換しかできないのだから、もし白または黒のみであれば、最小の操作回数は転倒数に等しい。この問題では、白と黒の2色の並び方ごとに操作回数が異なる。白と黒の並びが定まれば、操作回数は一意に定まる。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。