/ 最近 .rdf 追記 編集 設定 本棚

脳log[20220513]



2022年05月13日 (金) [AtCoder] 精進。Code Formula 2014 予選B-C「仲良し文字列」(水 diff)。AtCoder Problems の Recommendation なのであって特に選んだわけではないけど、おととい(20220511)解いた「Make UTPC」と似た雰囲気の問題であった。こちら(仲良し文字列)の方がやや易しく感じられるのは、注目している文字列の外から文字が供給されないところ。スワップ対象がすべて見えている。それによりスワップ関係(ペアでの位置交換)にない要素はローテート(三つ組以上での位置交換)の一部だと決め打っていける。3個以下のペアと2個以下のローテートで全体が把握できる。■提出 #31625678 (AC / 560 Byte / 61 ms)。不一致の数と、並べ替えで一致するかどうかと、位置を交換しているペアの数と、余った手数を費やす無効な(同じ文字同士の)交換が利用可能かどうかを調べれば答えが出る。□あと、バグがありますよ。11 行目の c+d を文字列の連結のつもりで書いたけど 7 行目で .chars ではなく .bytes を呼んでるので文字コードの足し算になってしまってる。それだと a と d が位置を交換している場合と b と c が位置を交換している場合など、異なる文字コードの組み合わせだけど和が一致する場合を区別できない。