アルゴリズム忘備録

競技プログラミングとかデータ分析とか

2017-09-03から1日間の記事一覧

D: Derangement - AtCoder Regular Contest 082

arc082.contest.atcoder.jp 順列p[i]が与えられる。何回かp[i] とp[i + 1]をSwapするという操作を行い、すべてのiについてp[i] ≠ i となるようにしたい。操作の最小回数を求めよ。 p[i] = i となるような連続部分列があったとする。この時、この部分列の長さ…

C: Together - AtCoder Regular Contest 082

arc082.contest.atcoder.jp 数列a[i]が与えられる。ある数Xを選んで、各a[i]に対して-1, 0, +1のいずれかを加えることで、a[i]=Xとなるiの個数が最大になるようにしたい。最大値を求めよ。 v[n]=(a[i]=nとなるようなiの個数) という配列を作っておきます。す…