ykmakuのブログ

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

2018-10-01から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|が偶…

AtCoder Grand Contest 003 C - BBuBBBlesort!

問題 beta.atcoder.jp 解法 とすると操作2のみでソートしようとする場合、それぞれの中でバブルソートをしていることになる。つまり操作1を行う必要があるのはの要素との要素を入れ替えたいときだけである。 操作1を行う回数を求めるにはをソートしたものを…

ARC 103 E - Tr/ee

問題 E - Tr/ee 解法 木という条件から、でないといけない事がわかります。 逆にこの条件が成り立っているとき条件を満たす木を構成できます。 まずという枝を用意します。とします。の2文字目から見ていき、番目の文字を見ているとき枝を追加します。ならと…