まだタイトルない

アウトプット用です

そこらへんの Kaggle Master はどれくらいの時間でAtCoder 水色になれるの? #000

2023/05/16 追記

ちゃんとした色変記事を書きました

teyoblog.hatenablog.com

お久しぶりです。前回の更新から135日ほど経っていたみたいです。

労力のいる作業なのでしょうがないですね笑

さて、タイトルにあるようにそこらへんにいるKaggle MasterがゼロからAtCoder水色を目指すとどれくらい時間がかかるのか?結論から言うと8ヶ月かかりました(半年くらいでなれたらちょっとドヤ顔できるかなと思ってたんですけどね。。。。)

本当は こう進んだり、 こう進むつもりだった

水色になったときに公開するために、勉強をしながらリアルタイムで日記的なものをつけていたので下記はそれになります。長いし起承転結もないですがお付き合いください。

2022/9/8 勉強開始

  • ちょうど少し前にAtcoderの本が出版されていて、pythonコードも載っているということでコレを購入。

www.kadokawa.co.jp

  • 練習問題としてAtCoderの過去問のどれをやればいいか掲載されています。
  • 自分がどれだけ解いたかはAtCoderのアカウントがあれば、AtCoderProbremsというサービスで見られるようでしたのでここでアカウントを作成。

2022/9/17 ABC初参戦

  • 「最初数回はレートが上がりにくいから勉強に満足してからじゃなくて早くから参加しておいた方がいい」と友人に言われたので参加することに。
  • 結果はABC3完の茶パフォ?DはTLEでて諦めました。

2022/9/23 鹿本読了

  • この本、練習問題がかなり重く時間がかかるのでスキマ時間に本文を読みすすめていたので練習問題消化する前に1周目を読了。
  • 練習問題の進捗は中級全探索の途中。

  • 後この時鉄則本も買った。この2冊で水色まで目指そうと思う。

book.mynavi.jp

2022/9/24 飲み会後の新幹線の中でABCに参加

  • 特に進捗の話ではないですが、休めばいいのに新幹線の中でスマホタブレットでABCに参加。このときはAB2完で撤退

初めて一ヶ月くらいの状況

  • 簡単な全探索、バケット連想配列、set、sortなどを使った問題が結構好きな時期でした。
  • ブログ記事でdp読んでなんとなく雰囲気はわかったのでコレなら水は現実的かも?とは思った。
  • 問題は1ヶ月で200問くらい解いた

2022/10/15 初めての緑パフォ

  • 5回目のコンテストでABC3完だけど初めての緑パフォ。この回はBがちょっとpythonで解くには癖があったみたいでそこを早く抜けてCまで解けたことと、Dがちょっと難しかったため緑パフォになったようです。
    • あとこの時期私生活面で大分派手にやらかし、なにかに集中しないと病んでしまうくらいの精神状態になってました。

2022/10/19 鹿本上級まで練習問題終了

2022/10/22 初めての水パフォ、茶色に昇格

  • この回はC問題は配列用意してインクリメントして代入していく。D問題はDPっぽくx座標とy座標の候補を作って対応しました。全探索よりのアプローチでしたが試したらTLEにならず、時間も割と早くて?水パフォにつながった。

2022/10/下旬

  • kaggle days championshp Barcelonaで1時休止してました。飛行機や電車移動のとき少しだけ鉄則本を読書する程度の勉強

2022/11/6

  • 鉄則本の本文を9章まで読了 正直8,9当たりは特にわからなかった
  • AtCoder Problems に問題が入っているみたいなのでこの後練習問題と10章の消化に進む

2022/11/12

  • ABC277でE問題ACできて喜ぶ diffは1194だったっぽい

2022/11/24 初めて青diffが解ける。鹿本中級編終わり

atcoder.jp

  • 中級編最後の練習問題AGC008Cを割とすんなり解けた。
    • テトリスチョットワカルからスラスラできただけかもしれないけど精進に青が塗られた!

2022/11/26 ABC279ではじめてレートが下がる

  • D問題で答えの2分探索+周辺20万個くらい探索したのに15WAなってブチギレた
    • なんで約2800人もACなの?
    • ちなみにこの件は10**17くらいの数字で探索していたことが原因で、微分した値で探索した結果ratesubでACできた

2022/11/29

  • 2か月ほど勉強してきて、競技プログラミング専用の技術しか身についてない感覚でいたが、なんとなくoshigotoの方に良い変化があった。
    • 言語が違えど実装のアイデアの幅が増えたように感じた。
    • もしかしたらkaggleも強くなってるかもしれない(なわけ

2022/12/3

  • ABCを10分で終わらせたけど、DもEも意味分からずに3091位・・・
  • D問題はルジャンドルの定理を使って二分探索するみたいだけどなんで2629人も解けてるんですか?ちょっと心が折れそう

2022/12/10-11 初めて実践でDPをACする。鹿本全問終了

  • 12回目のコンテスト、ABC281のDで3次元DPを使う問題が出てきて、無事ACを通せた(sub)うれしい。
  • DPは今となっては篩にならない印象だったけど、まだまだ解ける解けないでパフォが変わるみたいでこのコンテストではD通せない方が多かったみたい。
  • 鹿本の全練習問題をやっと終わらせることができました。全くわからん問題とかもたくさんあって3ヶ月もかかってしまった。
  • Atcoderのレートはもうすぐ緑なのでこの本1冊真面目にやれば緑にはなれるのではないでしょうか?

  • 二分探索嫌い

2022/12/24 初めてABC283D問題でACコードおかしくない?現象に当たる

  • クリスマスイブに競技プログラミングをする。
  • 競技プログラマーの鏡のような姿勢をしてたのですが、初めて自分が解いた問題で問題が発生。
  • 起きた問題は2つ(と考えている

  • テストケースに制約違反があった

    1. これはいい文字列が与えられてるといわれてるのにいい文字列になってないものがある。こちらは私は影響を受けなかった。
  • 嘘解法がACになる

    1. この事象で入緑し損ねたと思ってるんですけど、この問題は((ab)a)は操作可能で、(a(b)a)は操作不可能になるような実装を求められていると認識してます。が、両方とも操作可能となる実装でもACになる(はじけるテストケースが用意されていなかった。)ようでした。それで通るなら実装はもっと早くできたと思いますし、実際5000人中4000人ACしていて、本来の問題ならもうちょっと少ないんじゃないかなぁと思います。
  • また、この回はEFが青diffで難しかったみたいで、誤った解法でACとってそのまま高パフォーマンスになってる人もいると思いますが、それはそれでちょっと気の毒かなぁと思った。

2022/12/25

クリスマス。A問題を全部虚無埋めした

2022/12/31-2023/1/1

  • 新年初subはTLE

2023/1/7 緑色に昇格

  • 4ヶ月で緑になりました。
  • 鹿本読了、鉄則本途中までなのでまだ水色になるまで学ぶことは残ってるので引き続き勉強していくぞという気持ち。

  • scipyでダイクストラできるの楽やんと思ったけどメモリエラー出やすすぎてブチキレた

2023/1/15 800AC達成

2023/1/24

  • 鉄則本だいたい終わり
  • 精選100問に取り組みはじめる

2023/1/29 初めてARCに参加して0完で弾き返される

2023/2/11 中卒主婦のかたの青変記事に出会う

qiita.com

  • 昔より○色のハードルが高いみたいな話が聞く中リアルタイムな色変記事はモチベーションになりました。
    • ところでこの方化け物じゃないですか?

2023/2/18 ABC-Bを全部埋めた

2023/2/21 1000AC

2023/2/25 精選100問完走

qiita.com

  • AC数増やしたかったのでAOJはやらずに進めました。とても難しかった・・・解説ACもちょこちょこした。

2023/2/26

  • 精選100問完走後のABCで大コケして泣きそうになる。
  • 徐々に難しい問題が解けるようになってきていただけにショックが大きかった。

2023/2/27

  • 過去コンペでパフォーマンス1400取るために必要な問題のローラーを開始

2023/3/10 1100AC!

2023/3/19 chatgptにむむむ

  • ABC294で5完したけど2000位以下で絶望
  • TLEしたので方針を変えて2WAの3ペナと追加考察で合計40分くらい遅い順位に。。。input早くする呪文使ってたら通ってたことがわかったのでもう絶対に使うと誓う
# input早くする呪文
import sys
def input():
  return sys.stdin.readline().rstrip()
  • この回からコンテスト後の振り返りツイートで chatgptで〇〇完とか、chatgptでpythonc++に変えて通した話を見かけるように、もちろんその方の解ける範囲以上のものが解けることはなかなかないと思うが結構複雑な気持ちになった。

2023/3/28 1200AC

  • ABCのC-D-EでAC数を伸ばしていってる。
  • たまに制約10**5のD問題が解けないことが有るのでまだまだ課題盛りだくさん

2023/4/1

  • 年越したあたりから頑張れば2022年度内に水色に行けるのではと思っていたけどそうはいかなかった。
  • ABC296で上ブレて、もう1回上ぶれたら水色というあたりまでこれた。なんとしてもGWまでには・・・・

2023/4/4 始めた頃解けなかった問題に再びボコボコにされた

2023/4/6

  • 緑diff後半の問題が解けないと凹むようになってきた
    • でも解説放送でsnukeさんが「この問題難しい」っていってくれてると癒やされる

2023/4/20

  • 100日後までに水色になると誓って、その100日後まであとコンテストが2回、レートは@45となってすごくギリギリでキリキリしながら毎日精進している
  • ABCが8問制になった212まではパフォ1400出すために解けなきゃいけない問題をほとんどうめ終わった

2023/04/22 DDoSを許さない!!!!!!!!!!!!!!!

  • もう少しで水色、100日でやると決めて残り少ないコンテストというタイミングで2回連続でDDoSによってUnratedになってしまった。もちろん萎えるところではありますが、主催、スポンサー、writerの方が辛いと思う。
  • unratedになった結果次のコンテストは1週間後なのだ!ってなった瞬間は虚無になっちゃうけど次来たratedで入水するためには勉強するしかない・・・

2023/4/23 競プロ典型 90 問☆5埋め終わり

  • ☆4もちょこちょこわからないものはあったけど☆5は知ってるテクニックの組み合わせも増えてきてかなり苦労した。17問あって8問自力AC、9問解説AC
  • 木DPが特に難しかった

2023/4/23 PAST本上級をむしゃくしゃして買った

  • 鹿本と鉄則本で水になれるとは思うけど、GWを緑で迎えることがほぼ確定したため余裕を持ってなるために買ったった。

book.mynavi.jp

2023/5/10 PAST本を進めている

  • PAST本は容赦なく難問をぶつけてくる。なんてったって上級者向けの本だからね。
  • ダブリング使ったDPを自力ACできたのは気持ちよかった

atcoder.jp atcoder.jp

2023/5/14 入水!!!!

atcoder.jp

  • 自分に発破をかけるために100日後(1/26=>5/6)に入水すると誓って107日後、ついに入水!
  • ちょうどコンテスト1回分遅れちゃったけどまぁ、先週なかったし実質間に合った()
  • D問題が全然できなくて焦ってきたときにEを覗いてみたらなんとなく相性が良さそうだったのでそっちを解くことに
  • ちょうど最近PAST本で巡回セールスマンの復習していたのでそれが生きてACして一発逆転!

まとめ

お疲れ様でした!

今回は勉強期間の日記をちょっと修正したものを使いました。
本当は二分探索が大嫌いだった時期からめぐる式を知って感動したとか色々もっとイベントが有ったのですが、豆じゃないのであなぬけがすごいです。 また振り返りポエムとか、なにか質問があればそれに答える感じのものを書こうと思うのでそのときはよろしくお願いします!

marshmallow-qa.com

最後に精進の諸々載せておきます