A]競技プログラミングhttp://codeforces.com/contest/889/problem/AN+1個の配列Tがある。0で他は与えられている。この時、以下の条件を満たす配列Aを構築する。jであるつまり、A[i]と同じ数が左側にあるなら、最も近く同じ数の要素の添字がT[i]となっている同じ数が無いならT[i]は適当な値こうして作れる配列Aの最大値を最小化し、その最小値を答えよ。Codeforces最大値を最小化するので、二分探索っぽいが、貪欲法で解ける。後ろから以下のルールで要素を決定していく。i番目の配列Aを確定するとする。数が確定していないなら、A[i]に新しい数xを入れる(xはインクリメントして、次の数にしておく)T[i]が遷移先となるので、遷移先がまだ空っぽであれば、そちらにA[i]を入れるこれを繰り返すと、最大値を最小化できる。B]月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。