はるすえすしーのぶろぐ

ブログのないようがないよう

AtCoder水色になりました

2023/12/10のAtCoder Beginner Contest 332でAtCoderのレートが水色になりました!!

2024/2/10追記: ABC340で緑落ちしました

2024/2/17追記: ABC341で水色に戻りました

rating graph

ということで,恒例らしい入水記事を書いてみようかなと思います.が,なにぶん初めて緑色になってから約4年半,色変記事を書いてないので慣れてないところもあると思いますが大目に見ろ.

なんだったら書いた緑復帰で書いた色変記事がこれ(色変記事は何度でも書けばいいと思う話 - はるすえすしーのぶろぐ)なので,実質初めてみたいなところもあるとかないとか.どうせなら人生とか卵とか絡めた壮大でタメになっておいしい記事を書いてみたいですよね.

自己紹介

数多くの色変記事を読んできた僕は知っています,最初は自己紹介から始めるのがスマートな競プロerです.ここでできるだけスタートラインが貧弱であるかをアピールしておくことで,そのあとの努力を見せつけられるんです.

  • 技科大のB4.学部は情報系で,B3のときに高専から編入してきた.
  • 使用言語はPython→Julia.(C++は本当にちょっぴり)
  • JuliaのLanguage Ownerです
    2024/1/29時点
  • なんでJuliaを使っているかというと面白いからです. 友達がちょっとやっていたぐらいの理由でJuliaに乗り換えてからずっと使っていますが,Pythonより早いし,その割に書きやすいので.

精進記録

だいたい入水した当時のスクショです.

Achievement

ABC

ARC

AGC

Difficulty Pies

Heatmap

Languages

緑色から水色になるまでにしたこと

毎日1AC生活を171日間続けた

競プロから復帰するにあたり,競プロする習慣をつけないとまた飽きてしまうと思ったので(豊富にある)灰~緑diffの問題を毎日1AC以上するようにしました.帰省とかでPCに触れないときはPASTのA問題とかをスマホコーディングすることでしのいでいました.

灰diff埋めに効果はあるとかないとかよく論ざれていますが,私としてはACすること・そしてその習慣を自分に課すことで競プロを続けていけるのであればありだと思っています.解いた問題数は多い方がメンタリティにもいいですからね.

また,データ構造・アルゴリズムをまんま使うだけだと〇色diffで,応用する問題だと難易度が一色上がるということが増えてきた気がするので,その基礎力を付ける意味でも下位の問題を埋める意味はあると思っています.

ICPCに出た

大学の同期とICPC国内予選,横浜大会に2回出させてもらいました.参加記は以下から読めます.

暖色の人間のつよさを現実で初めて目の当たりにして,こうなりたいという目標が建てられた気がします.あと,チームメンバーの足を引っ張りたくないというモチベーションも湧くので,つよい人間とICPCに出ることは役に立ちそうです.

ICPC2023 国内予選 参加記 - はるすえすしーのぶろぐ

ICPC2023 Asia Yokohama Regional 参加記 - はるすえすしーのぶろぐ

ICPC2022 国内予選 参加記 - はるすえすしーのぶろぐ

デュアルモニターにした

一人暮らしを機に新しくモニターを買い,環境を整えました.片方のモニターで問題を見ながら,もう片方でVSCodeを開けるというだけで最高です.

いろいろ学んだ

思いつく学んだこと一覧です.正直今になっては緑色になるまでに必要とされている知識がほとんどだと思います.それだけレベルが上がってきているということなんですね.

  • 決め打ち二分探索
  • Priority Queue
  • ダイクストラ
  • ワーシャルフロイド法
  • 二次元累積和
  • mod上の加減乗除
  • ナップザックDP
  • next_permutation
  • 座圧
  • トポロジカルソート

逆にできないこととしては以下があります.

  • セグ木
  • 遅延セグ木
  • 強連結成分分解
  • ロリハ
  • BIT
  • 幾何(一生苦手です)
  • bitDP
  • 桁DP

これから

とりあえず水色を維持する!!!緑落ち芸人にならないように知識をちゃんとつける!!

学生の間に青色まで行きたいと思っています.蟻本にもそろそろ手を付けつつ,JOIの問題を解くことをチームメンバーにお勧めされたのでC++使って解いてみたい.

緑以下あるあるであるところの,手元でいろいろコード書いてみて実験して解法見つける癖(俗にいう解法ガチャですね)をやめたい.強い人はだいたい頭の中で解法とある程度コードを仕上げてから書き始めるのでコーディング中に止まることがほとんどないんですよね.というか頭の中で考察が済んでるのってカッコよくないですか?

ライブラリを整備する.どこで使うのかいまいちわかっていなくても,内部がどうなっているかちゃんと理解していなくてもペタリするだけで解ける問題を逃すのは痛い.そういう点ではACLの登場によりC++がさらに有利なんですよね.それに,ライブラリを整備しているうちに理解が進むことも多々あるため.

今年もICPC横浜に行く.国内予選やアジア大会で少しでも貢献できるといいな.

駄文ですが読んでくださりありがとうございました.あなたの競プロライフに少しでも役に立てば幸いです.