AtCoder茶色になりました

はじめに

タイトルの通り、20/03/08に開催された日立コン2020(Social Infrastructure Information Systems Division, Hitachi Programming Contest 2020 - AtCoder)で茶色になりました。わぁい。

f:id:ekaraage:20200309014845j:image

 

やったこと

まずAPG4bの一章を終わらせて、ABC143に出ました。このころは本当に右も左もわからぬ状態で3完しただけです。Perfは218でした。

APG4bの二章が終わった頃にABC144がありましたから、これにも参加しました。Perfは468でした。

このころから過去問を提出し始めて、虚無でもなんでもいいから1日1ACする生活を一月弱続けました。昨年12月には受験の関係もあり、完全にAtcoderから離れていました。

2月には受験が終わりましたので復活して、過去問の提出を再開しました。提出した問題は専ら灰Difのみでした。(ほかは解けないので)

その他には、これ厳選!C++ アルゴリズム実装に使える 25 の STL 機能【前編】 - Qiitaとか、これレッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】 - Qiitaを読みました。おすすめ問題は一切解いてません。

 

できるようになったこと

  • 累積和
  • nCk(mod p)を求めるライブラリを探す
  • ちょー簡単なDP

おしまい。

これは本当です。逆(対偶?)に言ってしまえば、茶色になるのに高尚なアルゴリズムやデータ構造はいらなくて、for文が書けてちょっと頭が使えればそれでいいのです。「〇〇わかんないよ〜〜」などと泣く必要はありません。

 

できるようになりたいこと

  • にぶたん
  • DFSBFS
  • Bit全探索
  • よくわかんないDP

ほかにもいっぱいあります。これからいろんな色になりたいので。

 

茶色になるために必要だったもの

  • ペンと紙

考察をするときに大変重宝しました。サンプルの意味がわからないときや、自分の考えを言語化したいときにかなり役立ちます。

  • 考察をする力

名前ほど大層なものではなくて、要はnやaが小さい場合ならどうなるかな〜と実験してみることです。問題解決の糸口になっていることが多いですからね。解説が見たくなってもそこはぐっと我慢してあと5分考えてみるのもいいと思います。

  • APG4b二章くらいまでのプログラミング知識

私はC++なので他の言語についてはよくわからないですが、まあどの言語もこれくらいは必要だと思います……

私は「コンテスト中にググるなど言語道断!!!!」などと勝手に思っていたので、ググれば解決する問題に無限時間かけてパフォーマンスを溶かしてしまったことがありました。自分のやりたいことが実現できるコードが基本的に存在して、それを知らないだけというケースが大変多いですから、無理せず調べて吸収していきましょう。

  • (ちょっとの早解き能力)

これは別に重要ではなくて、茶になるまでが早くなりますよ、というやつです。灰Difを60分くらいで全部通せば茶Perfくらいは出ますから、そんなに気にする必要はありません。

 

しばらくの目標

  • 茶Difの問題を通せるようになる

実際はそのために必要なアルゴリズムとデータ構造を学ぶというところでしょうか。「〇〇を知っていますか?」をされて最近無限につらいです。

  • コンテストで緑Perfを出す

今回はまぐれだったので、実力で取りたいところです。

 

 

この記事はこれでおしまいです。ありがとうございました。これからもがんばります。