水色コーダーになりました
はじめに / 自己紹介
こんにちは。まぐげんがーです。高校1年生です。
AtCoder(アルゴ)で水色コーダーになったので何か書きます。
勉強したアルゴリズム・テクニック
コンテストで使用したことがある
- 二分探索
- DFS
- BFS
- Dijkstra法
- Floyd–Warshall法
- nCr、nPr
- 約数列挙
- 素因数分解
- modint
- 累積和
- imos法
- bit全探索
- ナップサックDP
- boolDP
- 他の様々なDP...
- UnionFind
- トポロジカルソート
- 最小全域木(Kruskal法)
- 座標圧縮
コンテストで使用したことがないが知っている / ライブラリに入っている / 聞いたことがある
- ベルマンフォード法
- 強連結成分分解
- 偏角ソート
- 中国剰余定理
- BIT / Fenwick Tree
- Segment Tree
- bitDP
- 削除可能UnionFind
- Rolling Hash
- ダブリング
- 最大フロー / 最小カット
AtCoder Problemsの情報
(もっと水色diffの問題を、解け!!!)
入れている拡張機能(atcoder.jp上で動くもの)
やってきたことと、それについて
ABCに出る、ARCに出ない
ARC怖くて出られていません。
JOI(日本情報オリンピック)に参加する
一昨年から参加しています。(2次予選落ち(一昨年) -> 本選140点Cランク(去年) -> 本選196点Cランク(今年))
JOIはAtCoderとはまた一風変わった問題を出題してくるので、面白いです。(来年が最後のJOIになるので、今年1年めちゃくちゃ頑張ります!!!)
Longest Streakを伸ばす
650日くらい続けました。意味は...あったかな?実感はないです(僕は精神力がカスなので途中から虚無埋めが多くなりました)
コードゴルフをする
楽しい!!!
副次的な効果として、自/他が書いた難読コードをスラスラ読めるようになります。
様々なプログラミング言語を勉強する
楽しい!!!
副次的な効果として、強い競プロerの方でC++以外の言語を使われている方のコードをスラスラ読めるようになります。
komatta.md
を作る
ちょっと気持ちが楽になるのでおすすめです。
ライブラリを作る
僕はいつも提出の時にライブラリをまとめて(だいたい30000byteちょっとになるのですが)そのまま提出しています。
- よかったこと
思い付きでコードをたくさん書いて消して...を繰り返すタイプなのですが、適当にUnionFindとかを呼び出せるおかげでトライ&エラーを繰り返すスピードが速くなりました。
- よくないこと
コードの圧迫感が、凄い!
ヒューリスティックコンテストに出る
一応AtCoderヒューリスティックレーティングも水色です。
ヒューリスティックが強くなるにつれて(というか、長期コンを経るにつれてと言った方が正しいかもしれませんが)、「コードを書きやすくするための実装力」がついていきました。(例えば、処理をブロックごとに関数に分ける、変数名をわかりやすくするなど)
(あと、ヒューリスティックコンテスト、単純にめちゃくちゃ面白いのでみんな出てくれ~)
除夜コン2022
半分寝ながら灰diff54問を解きましたが、思えばあの後から速解きが上手になったのかな、と思います(いつも半分寝ながらコンテストやってる、ってこと!?)
最後に
水色コーダーになることができて本当に嬉しいです!(自分の中で、特段何かができるようになったわけでもないのに、するっと水色になってしまった感触がありますが...)
次の目標
今年中にアルゴとヒューリスティックどっちも青色コーダーになりたい!!!!!!