AtCoder Beginer Contest247で失敗した話

競技プログラミングって知っていますか?

簡単に言えば、プログラミングやアルゴリズムに関する問題が出されるので、制限時間内にプログラムを書いて答える、といったものです。AtCoderでは週に1~2回コンテストが開催され、その成績によって自分のレートが変動します。レートは400点おきに、色分けされており、例えば399→401となると、色が変わります(灰色から茶色)。詳しくは、AtCoderとか調べれば出てくると思います。ちなみに、私は緑色(900くらい)です。

さて、そのコンテストの一つである、AtCoder Beginer Contest247(ABC247)で失敗しました。

atcoder.jp

Beginerというくらいだから初心者向けなのですが、内容は初心者向けとはちょっと言いにくいレベルの問題が多いです。

世の中には、詳しい解説が溢れており、今更レートの低い私が解説する意味もないので、ここでは、私がコンテスト中に解いた問題のうちミスった問題だけ書くことにします。

B

atcoder.jp

要するに2回以上同じ名字や名前が出てきてたらダメってことなんですが、姓名が同じ(Tanaka Tanakaのようなもの)とかいう落とし穴に、見事に引っかかりました。(2ペナ)

こういうのすぐ引っかかるんですよね...

D

atcoder.jp

ここ最近で何度も出てきている、ランレングス符号化です。ランレングス符号化である事に気づき、dequeで実装すれば楽なのですが、一瞬頭をよぎった過去問を脳の隅に追いやり、クエリ先読みに走り、謎尺取法をしました。どう考えても実装で不利、ここで無限人に抜かされました。

レート-21!

はぁ...