giantneco’s blog

技術メモ

AtCoder Panasonic 2020

Contest Result - AtCoder

祝水色。

まだまだレーティングを上げる余地はありそうだ。

ただし青以上のパフォーマンスは一度も取っていないので、青になるためにはかなり精進が必要っぽい。

まず 5 完を安定してとれるようにならないといけないか。

A

配列を問題文からのコピペでつくって出力するだけ。

B

1 WA だしてしまった。

基本的に h * w / 2 で、h * w が奇数なら +1でよい。

しかし、h か w が 1 の場合は例外になるのでこれを考慮する必要があった。

C

4 WA だしてしまった。

精度の問題にはしたくないので式変形して (c - a - b)2 > 4ab の形にもっていく。

なんで WA 食らったかというと、c - a - b < 0 の場合を見落としていたから。

若干パニックになって必要のないところをいじってまた WA くらったりしてた。

D

全ての並び替えを出す要領で、1 文字目は{a}、2 文字目は {a,b}、3 文字目は {a,b,c} という感じの組み合わせを全列挙する。

このままでは条件に合わない組み合わせが含まれるので、一文字飛ばして新しい文字が出現するようなものはフィルタアウトする。

たとえば "aac" は 'b' を飛ばして 'c' が出現しているが、これは辞書順で出現済みなはずの "aab" が同値なので外さないといけない。

たぶんもっとスマートな方法があるとは思う。

ちなみに WA は入力を読み込み忘れたまま提出してしまったため。粗忽だ。

E

解法が思いつかず総当りっぽく解こうとしたが無事 TLE。

解説みるとやっぱり総当りだったが、自分の実装より時間がかからずになっていたのでまあそうなるか。