Help us understand the problem. What is going on with this article?

AtCoder青を達成しました

ARC107にてAtCoderの青コーダーになったので、記念に初投稿します。
青になるまでやったことを色々まとめます。

1.AtCoderを始める前

プログラミング言語を知ることになったきっかけは、中一の6月頃に始めたSwift Playgroundsというもので、for文やwhile文、関数について学びました。
次に9月頃にPaizaを始めてPythonを色々学び、ランクBまで到達しました。
ここまではプログラミングに興味を持つきっかけなので、特にする必要はないと思います。
その後競プロについて知り、APB4GAOJにて、Pythonによる基本的な競技プログラミングの問題の解き方を定着させました。

2.AtCoder灰色期間

2019年11月にDISCO2020予選のコンテストに参加し2完して、これがAtCoder参加初となりました。(Rated対象~2799のコンテストに参加した理由が分かりませんが、当時AtCoderに慣れていなかったのでまあいい)
次の三井住友信託銀行プログラミングコンテスト2019にも参加しましたが、なぜかABC F(!)の4完を取ってしまいました。D問題とE問題はDPの知識が必要で分かりませんでしたが、Fは努力と根性で何とかなったと言うことでしょう。
そしてこの頃に蟻本を買いました。しかし何もわからず、真剣に読んだのは緑色の頃から。
また、JOIにも参加して、1次予選300点、2次予選230点を取り終了。
2次予選の1問目でポスターを回転するのに配列を回転する関数を必死に探していたのは記憶に残っています。実際にrot90があったので良かったですが、見つからなかったら太陽だったでしょう。回転の仕方問題文に書いてあるのに。問題文を読みましょう(自戒)。

3.~水色

この頃は、Pythonの豊富なライブラリ、多倍長整数の特権、そして中学受験で鍛えた考察力を駆使して、レーティングを急上昇させました。最終的に日立コンテスト2020で早解き2完をして、水色になりました。
JOIの過去問をかなり解いていました。難易度4までをさくさく埋め、難易度5も7割程度埋めました。

4.停滞

実をいうと、水色になるまでに学んだ競技プログラミングで主に用いるアルゴリズムは、貪欲法累積和しかなく、このまま押し切るのは難しかったです。そのため蟻本に載っていたアルゴリズムをけんちょんさんの問題集を解きながら定着させていきました。
また同時並行で水diffの問題を色々と漁っていったので、考察力も伸びていきました。
一旦緑に落ちましたが、DPやグラフの問題を解けたことで4完、5完が安定し、徐々にレーティングが上がっていきました。

5.青色到達

ABC174から全てのABCで5完以上を達成し、レーティングが順調に伸びていきました。そして2020年10月31日に青色を達成しました。
次のABCで緑diffに1時間かけて水色に戻ってしまいましたが、その次のABCで全完黄perfを出して安定青コーダー(?)になることが出来ました。

6.まとめ

典型アルゴリズムの習得と考察力のバランスが大切。アルゴリズムが身についていないと考察の結果このアルゴリズムを使おうと思っても出来なかったりします。
またABCの復習についてですが、自分のレーティング以下OR典型でない限り、復習はしていません。将来強くなったときに考察問題として使える可能性があるからです。

7.次にやること

青になったのにも関わらず、ここ最近コンテスト中に青diffの問題を解けていないので、ひたすら過去問演習をします。
また蟻本の中級のアルゴリズム(セグ木、座圧、平方分割etc.)などを定着させていきます。

souta_1326
中学2年 AtCoder souta_1326
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away