nononの落書き帳

不定期に、でもずっと更新したい

入青記事

AtCoder青色になりました!!!

rating graph

というわけで色変記事を書いていきます. 入水記事はかなり簡単なものになってしまったので今度はちゃんと(?)書きます.

自己紹介

  • 理系の大学1年生
  • 大学に入るまでにしたプログラミングと言えばscratchを少しだけ触ったことがある程度
  • 高校時代は競技数学(OMC)を少しだけやっていた
  • 大学では競技プログラミングサークルに所属、グラフ理論のゼミにも参加している

精進の記録

Achievement

ABC

ARC

AGC
Difficulty Pies

Climbing

水→青でやったこと

  • コンテストに出る
    結局これが1番大事だと思います. コンテストに出ないとレートは上がらないですからね. AtCoder以外にもYukicoderやCodeforces, BOJのコンテストに参加をしていました. また, AtCoderのコンテストについては, コンテスト後に振り返りを簡単に書くようにしていました(この記事の1番下に置いてあります).

  • バチャにでる
    コンテスト形式での練習が(コンテストへの参加を除けば)1番成長すると思います. まよこんやサークルのバチャに出来る限り参加するようにしていました.

  • 知識をつける
    実装をしたことがなくとも, そのデータ構造・アルゴリズムが出来ることを知っているだけでも勉強しておくと良いと思います(もちろん書けるに越したことはないのですが). コンテスト中にそれを使う問題が出たときに検索が出来るようになるメリットはかなり大きいと思っています.

水→青で覚えたこと・出来るようになったこと

  • Mo's Algorithm
    覚えましたがコンテスト中に使ったことがありません. なのでそろそろ出ると思っています.
  • LCA
    AtCoderで使った記憶がないですが...
  • 文字列アルゴリズム
    ローリングハッシュ, Z-Algorithm, Manacher's Algorithmあたりは勉強しました. まだ使いこなせないですが.
  • セグ木
    水になる前に使えていたかもしれませんが記憶が定かでないので一応書いておきます.
  • 遅延セグ木
    まだ検索と一緒に使っていますが, 遅延セグ木で出来ることはわかってきた気がします.
  • FPS
    ライブラリ整備までしましたがコンテストでは使えていないです. 過去問ではいくつか高難易度も解けるようになってきました.

また, ライブラリの整理などもしました. 今まではテンプレートにすべてを入れていたのですが, ICPCで写経をしないといけないことなどからコーディングスタイルを変更し, それと同時にライブラリをちゃんと作ることにしました.

これから頑張りたいこと

  • EDPC・典型90を埋める
    入水記事でも書きましたが全然解けていないので解きたいですね.
  • Library Checkerを埋める
    少しずつ埋め始めました. これから頑張りたいです.
  • 作問
    たまーにX(旧Twitter)に投げています. これからも少しずつ投げます.
  • 学業
    ピンチ!!

これからも黄色を目指して頑張っていきます!!

水→青のコンテストの振り返り

  • ABC315

    ABC315
    ABC314同様に序盤の速解きが上手くいっていました. E問題を通した後はD問題を実装していましたがバグが取れず, 残り時間と通してる人数を見てD問題だけ通してもそこまでパフォが上がらないと考え, F問題にシフトしました. 結果的にこの判断が上手くいきF問題を通しきることが出来たので良かったです.

  • ABC316
    欠番

  • ABC317

    ABC317
    この日は埼玉大学でオンサイトがあったので新宿のネカフェから参加しました. D問題は初手の方針を間違えていましたが冷静に考え直すことが出来たためそこまで悪い影響がありませんでした. E問題では実装ミスで時間を取られましたが個人的には満足のいく出来でした.

  • ABC318

    ABC318
    この日は早起きして実家(横浜)から自宅(仙台)の長距離移動があったためあまり良いコンディションではありませんでした. B問題での添え字ミス, D問題の実装ミスなどが重なってしまい、少しではありますが冷えてしまいました。

  • ABC319

    ABC319
    Cまでは良かったのですがDとEでかなり沼ってしまいました. Dは改行まわりでのミス, Eは i ごとにmodを取っていたことによるミスです. この辺の簡単に防げるミスを減らしていかないといけないなと思いなおしました.

  • ABC320

    ABC320
    この日はJAGの夏合宿の初日でした. Cでのつまらないミスで2ペナをしたのが痛かったです. Eでも実装ミスで時間を取られてしまいました. ここ数回EとFの崖にやられているので実力を上げないといけないですね.

  • ARC165

    ARC165
    この日はJAGの夏合宿の中日でした. 冷えました. B問題は嘘解法しか思いつきませんでした. C問題は二部グラフ判定のあとの最小値を求めるパートでミスがありサンプルが合わず, 最後まで通すことが出来ませんでした.

  • ABC321

    ABC321
    D問題まではかなり良かったのでE問題, F問題がどちらも解けなかったのが悔しいですね, 特にF問題はFPSでの立式が出来ていたのにそこから実装に移すことが出来ませんでした.

  • ABC322

    ABC322
    D問題, E問題の実装が重かったですがノーペナで通せたのは良かったです. D問題に30分かかっているのでこの時点で冷えを覚悟しましたが順位表を見ると耐えていたので安心しました. また, E問題は6次元dpを書いていましたがN<5のときの処理をうまく出来たので添え字等で頭がこんがらがることがありませんでした.

  • ABC323

    ABC323
    初めての6完です. 嬉しい. F問題は気合の場合分けで通しました. ただ, 3ペナをしていることや, 全体的に時間がかかっていることから, 思ったよりもパフォが伸びませんでした, 早解きを出来るようにすること, 序盤の問題でのペナを減らすことを意識して精進することを決意しました.

  • ARC166

    ARC166
    A問題, B問題どちらともかなり時間がかかってしまいました. 特にB問題は公倍数での処理にかなり時間がかかってしまいました. うまい方法があると信じて場合分けして解くことを避けていたのがダメでした(結局場合分けをして解きました). また, C問題では斜めごとに独立に考える方法が思いつきませんでした. 悲しい.

  • ABC324

    ABC324
    D問題でめちゃくちゃ沼りました. 前から貪欲に確認していましたが両側から見ればいいんですね. このような楽な実装方針が考えられないのは自分の弱点だと思います. C問題で沼ったことに焦ってD問題でもペナを重ね, 逆転を狙ってF問題に突っ込みましたが実装が合わず悲惨な結果になってしまいました.

  • ARC167

    ARC167
    自分の中ではかなり悲惨な結果だと思っていましたが予想以上にパフォが高くて驚きました. つい最近, 約数積に関する問題を作っていたために, B問題での考察をほとんどスキップできたのが大きかったです. それにしては実装に時間がかかりすぎですが.

  • ABC325

    ABC325
    C問題までは良かったのですがD問題で嘘を投げまくっていました. D問題とE問題の配点が変わらないのにD問題にこだわってしまったのは反省です.

  • ABC326

    ABC326
    久々にABCで勝てた気がします. D問題で実装に沼っているときに, 先週の反省を生かしてE問題に移れたのは良かったです. そのままの勢いでF問題まで解けたのも良かったです. そのあとD問題が解けなかったのは良くないです.

  • ABC327

    ABC327
    E問題まではかなり上手くいきましたが遅延セグ木を履修していなかったためF問題を通すことが出来ませんでした. このコンテストが終わった後に遅延セグ木を勉強しました. キーボードほしかった...

  • ABC328

    AB328
    6完しましたがF問題が重み付きUFを張ると通ってしまう問題だったためパフォがそこまで伸びませんでした. 2週連続で知識不足で勝ちを逃していて勉強不足を痛感しました.

  • ABC329

    ABC329
    今週はF問題の知識を知っていたので簡単に通すことが出来ました. が, E問題で沼ってしまいせっかくの勝ちのチャンスを逃してしまいました.

  • ARC168

    ARC168
    B問題まで解くのが遅いうえにせっかくC問題に数え上げが出ているのに解けませんでした. このようなセットで勝てないのは反省ですね.

  • ABC330

    ABC330
    E問題までの速解きでなんとか冷えずに済みました. 時間があったのにF問題の嘘解法に粘着してしまいました. ABC329のE問題と似たようなミスをしており, 自分の愚かさに悲しくなりました.

  • ABC331

    ABC331
    D問題の累積和の閉区間・閉区間で頭をバグらせてしまいましたが, E問題を先に解くことで頭をリセットして落ち着いて考えられたので良かったです. F問題は初めてローリングハッシュを使ったため, 実装のバグが多く大変でした.

  • ARC169

    ARC169
    A問題は本当に何も分かりませんでしたがB問題は割と簡単に解くことが出来たので冷えを最小限にできました. 助かった...

  • ABC332

    ABC332
    E問題とF問題の配点が近かったのでD問題を解いた時点で2問とも問題を読み, F問題はすぐに方針を思いついたのでF問題から解きました. 遅延セグ木が出来ることを自分の中でわかってきている感じがあり, 成長を実感しました.