ホーム
/
作ったもの
/
考えたこと
/
きろく

入水しました!

近況報告 - 競プロ楽しすぎ定期

 入水記事を書いてみたいと思います!

スペック

競プロとの相性は悪くないかなという感じのスペックです。

  • 数学科B3(高校は情報科)
  • Pythonでのプログラミング経験はあるが、ソートアルゴリズムを除いて計算量の削減を勉強したことはない
  • 高校の頃に多少、競技数学を勉強した
  • 大学に入っても組合せ論の勉強は継続していてLGV公式、行列木定理、グラフ理論、RSK対応などは知っている

入水までの流れ

 入水まではRated参加12回(入茶:3回目、入緑:5回目)でした。うちABCが11回、ARC--が1回です。 参加二回目以降は水perfをほとんど維持し続けられたので、割と安定してレートを上げられたと思います。 途中からにはなりますが、録画があります。こちらからご覧ください。

Ratingの推移及び寄与
図1.Ratingの推移及び寄与

 この推移は、比較的伸びが早い方であると思っています。その要因として、2つ理由を考えてみました。 1つ目は、数学問題に強かったことだと思います。 例えば、2回目の参加であるABC462ではE問題がO(1)で解ける数学問題だったこととか、ABC467のD問題(幾何)が数学問題だったこととか、ABC471のE問題が主客転倒でゴリゴリ競技数学の範囲と被る数学問題であったりと、数学問題がとにかくたくさん出題されていて、これを解き切る力が最初からあったことは非常にアドバンテージでした。

 もう一つの理由は、爆速で知識を補充したことにあると思います。 具体的には、実装はできなくても使える知識を増やしたということです。こちらについては、再現性があると思います。 例えば、Union-FindやSegTreeなどのアルゴリズムは実装こそ大変ですが、使うだけなら極論実装をできる必要はないので、後回しにしています。 ここらへんは、あとから補強していけばよいと思いっています。 C++競プロ用ライブラリにすべての知識を詰め込んでいるので、ぜひ活用してください。これからも更新していきます。 このおかげで、重い桁DPの実装やFenwick Treeを集合として利用するなどがコンテスト中にできました。

精進

 始めたての頃は、とりあえず典型90を回していました。 知識のギャップを埋めるということと、あとは典型的な思考パターンがしれたので良かったです。 始めてすぐの頃は★4くらいまでを解きました。 意外と、知識がなくても自力で解けることもありましたね。楽しかった。 現在は、★6,7を解いています。あとは、よく使うライブラリを整備したり、競プロの知識を解説している動画を爆食いしたりするなどしました。

 もう一つメインで進めていたのは、ABCのバチャです。3ヶ月で、30回以上のバチャを回しました。 コンテスト中の立ち回りや、詰まったときの思考の整理といった実践的なことも習得できてかなり良かったように思えます。 あとは、C問題とかでも、たまに難しい問題が出てきて、そういったケースは良い復習の機会にできました。 最初の頃はあまり安定しませんでしたが、最近になってだんだん早解きやF問題もできるようになってきて良い感じです。

 その他、付加的に行ったこととして、Tipsのメモと自分が良くするミスのメモ帳を作ることです。 Tipsは典型90で習得したものやその他問題を解いていて気がついたこと、解説放送でsnukeさんがおっしゃっていたことを中心にメモして、詰まったときに見るようにしています。 あとは、デバッガーでもわからないエラーに遭遇したときに、見直すのに便利ですね。 とにかく、PDCAも回しやすくなりますし、非常におすすめです。

 細かい精進としては、EDPC、FPS24題、Novistepsでstackや尺取法の練習、Paiza Sランク埋めなどもあります。 やっておいて損がなさそうなことは貪欲にやりました。

実践してよかったこと

 過去の自分に助言をするならこんな感じかなぁというのを書いておきます。

 貪欲かつ高速に知識を蓄えていけば、素早く水色に到達することができると思います。 あとは、勉強していく過程で、なるべく「次この問題を見かけたときにはどう考えれば解けるか?」を意識すると良いと思います。 どう考え方を誤ったから、次はどう直すべきかを常に考えると良いと思います。 また、正解したらそれで終わりではなく、より良い実装がないかを探求するのは大事だと思います。 特に、これはAIを使うと楽に教えてもらえますし、実践的に訓練できます。 おすすめです。

 (コンテスト内での利用は論外として)せっかく現代にはAIがあるのですから、これをフル活用しない手はないと思います。 色々相談してアドバイスをもらうと良いと思います。めっちゃ強い競プロerがつきっきりで教えてくれるようなものです。ありがたい。

これからの目標

 とりあえず、ABCのE問題までの早解きを安定させつつ、F問題を解いていきたいなと思っています。 色で言うと、青色を目指すことになると思います。知識の補充とともに、ARCといった考察ゲーの割合も増やしていきたいと考えています。 おそらく、競プロの本題としてはARC・AGCだと思うので、こっちをめいいっぱい楽しみたいですね。