ykmakuのブログ

競技プログラミングをがんばるブログ

文字列

ARC 087 E - Prefix-free Game

問題 atcoder.jp 解法 根が空の文字列に対応していて、左の子には0を右の子には1を文字列に足したものを対応させる完全二分木を考えます。 そうすると良い文字列があったとき、この二分木上での先祖子孫に対応する文字列はに追加することはできません。 つ…

ARC 088 D - Wide Flip

問題 beta.atcoder.jp 解法 前から順に見ていって...01...(または...10...)というように異なる文字に出会ったら"...0"か"1..."の長い方を反転すれば良い。反転したものの中で一番短いものが答えになる。 #include <iostream> #include <string> #include <algorithm> #include <cstdio> #include <vector> </vector></cstdio></algorithm></string></iostream>…

ARC 088 E - Papple Sort

問題 beta.atcoder.jp 解法 回文は各アルファベットに対して左半分と右半分でそのアルファベットが出てくる回数が同じである。 以下の場合は回文にすることはできない。 Sにおいて奇数回現れる文字が2種類以上 Sにおいて奇数回現れる文字が1種類かつ|S|が偶…

CODE FESTIVAL 2016 qual A C - 次のアルファベット / Next Letter

問題 C - 次のアルファベット / Next Letter 解法 文字列を先頭から見ていく。今見ている文字がをaに変更できる場合、操作を何回か行ってaにしたほうが文字列は辞書式順序で小さくなる。変更できない場合そのままにしておくのが良い。 最後まで見て操作回数…