けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

ソートすることが操作の目的

AtCoder AGC 003 C - BBuBBBlesort! (600 点)

楽しかった 問題へのリンク 問題概要 長さ の数列 が与えられる。どの 2 要素も互いに相異なることが保証される。これに対し 隣り合う 2 要素を swap する 連続する 3 要素を反転する という操作を行ってソートしたい。ただし、1 の使用回数を最小にしたい。…

AtCoder AGC 032 D - Rotation Sort (1000 点)

本番フローで無理矢理解いた!!! でも DP が本筋だね。 問題へのリンク 問題概要 の順列 が与えらえる。これを 整数 を選んで区間 [ ) を左シフトする、すなわち をそれぞれ へ置き換える、これにコスト がかかる 整数 を選んで区間 [ ) を右シフトする、…

AtCoder ABC 006 D - トランプ挿入ソート

順列において、要素をどこかに挿入する系の操作をする問題は典型ではある。こういうのをしっかり押さえたい。 問題へのリンク 問題概要 の順列が与えられる。 以下の操作を繰り返してソートされた状態にしたい。最小回数を求めよ。 要素を 1 つ選んで、任意…

AtCoder AGC 001 F - Wide Swap (2000 点)

これも自力で解けたの、嬉しい!!!!! 問題へのリンク 問題概要 正の整数 が与えられる。 からなる順列 に対して、以下の操作を好きな回数だけ行ってできる順列のうち、辞書順最小のものを求めよ かつ を満たす に対して、 と を swap する 制約 まずは逆…

AtCoder ARC 102 F - Revenge of BBuBBBlesort! (1200 点)

メッチャ楽しい問題!!! 問題へのリンク 問題概要 (ARC 102 F) 1 〜 N の順列が与えられる。 連続する三要素が単調減少のとき、それをひっくり返す という操作を好きなだけ行って、恒等順列にできるかどうか判定せよ。 制約 1 <= N <= 3 × 105 解法 (全然…

AtCoder ARC 097 E - Sorted and Sorted (600 点)

600 にしちゃムズイような。。。なん。。。 ARC 097 E Sorted and Sorted 問題概要 (白, 1), (白, 2), ..., (白, N), (黒, 1), (黒, 2), ..., (黒, N) の 2N 個の要素の順列が与えられる。「隣同士を swap する」を最小回数行うことで、「白」についても「黒…