春休み二か月かけてやっとこさ緑になりました、どうもKyleです。忘備録として適当に流れを書きます。
プロフ
どっかの偏差値50の国立大学の情報系っぽい3年生です。受験業界の凡人です。
センター数学は数ⅠA69、数ⅡB81のゴミ屑でした。個人的にatcoderのC問くらいまでの正答率と数Ⅰの点数とは相関があると思っているので参考程度に。
pythonをメインに使ってます。歴は大学の授業を適当に聞いていた期間が一年半、本格的に始めたのが半年前くらいなのでトータルで二年くらいです。(高校生の頃に部活でC言語をやっていましたが、これがいつになったらモンハンになるんだとか言ってキレてやめました、アホか)
atcoderを知ったきっかけ
最初はpaizaさんのスキルチェックで何でこれがTLEするんや~!!!答えもないのにわかるか~!!!!とキレ散らかしてpaiza関連でいろいろググっていたらpaizaとatcoderの難易度表みたいなqiitaの記事が引っ掛かり、そこからatcoderもやってみるかとなりました。
初回のコンテスト
初回はABC117でした。
御覧の通りペナルティを知らなかったので、ひどい有様でした。(
この反省を踏まえ精進を始めました。
そこでどう勉強するのか and 茶色まで
とりあえず本を買うのは癪だったので、atcoder scoresの100~200点問題をやり、解けたか如何を問わずその問題のすべての提出タブから最短コードを探してpythonの書き方やモジュールを徹底的に覚えました。また、そのコードのbyte数を抜かせないかと色々考えました。それと、その最短コードの書いた主のtwitterをフォローするのも有効です。コンテスト終了後に解法が流れてきたり、別解法を知れたりします。これをやっていれば普通に茶色にはなれると思います。
茶色から緑まで
ここからは二つ壁があります。まずはC問を解けるかどうかということです。C問は数学力に依存する問題があります。ABC117のStreamlineやABC123のFive Transportationsはかなり気づけるか気づけないかという問題だと思います。また、実装が重いものとしてARC103の/\/\/\/やABC 112 Pyramidがあります。この辺を解くと後のC問は簡単に見えてきます。
初見でやって30分かけて解けなさそうなら解説を見てもいいと思います。最初は何言ってんだこいつこんなのわかるわけないだろとかtwitterでぼやきまくってましたが、C問ACが50問を超えたあたりから嘘解法でも「見える!解法が見えるぞ!」となるようになりました。ここであきらめないことが肝心かと思います。
二つ目の壁は速度です。ここ最近のABCでは簡単な問題が出ており、参加者の増加も併せて一問でも間違えると茶パフォになったりします。ここで効いてくるのが最短コードを詰めたことです。コード長が短くなれば提出するのが速くなり、それだけ順位が上がりますから。また、サンプルを一通り回すことを心がけましょう、私も焦ってテストをせずサンプルで引っ掛かってWAやREをくらったことは指の数を超えています。(
こんな感じでやれば大体は緑になれるかと思います、感想はtwitterまで。では。