競プロ精進週記（2024.02.17, 入緑しました）


# はじめに

こんにちは、Pittaです。
この記事では自身の競プロとの付き合いを逐次記していきたいと思っています。
誤字脱字等ご指摘いただけると幸いです。


## AtCoderに登録 (2023/10/25) 

同日に [AtCoder Beginners Selection](https://atcoder.jp/contests/abs)を走破。ABCにも参戦したかったが家族のイベントや帰国等が重なり一か月ほどは参加できず。その間はアルゴ式を少しやったくらいで競プロにはあまり触れられなかった。


## ABC330 (2023/11/25) (0→19)

ABC初参戦、ABの2完で終了。Bは問題をよく読まずに雰囲気で解いてしまって`1WA`。Cは決め打ち全探索の問題で、とっかかりすらつかめずに撃沈。3完を目標にしていただけに悔しかった。茶diffの問題が解ける気がしなかったのでとりあえず灰diffの問題を瞬殺すべく、Boot Camp for Beginnersを走破する決意をした。

![参戦時の提出](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/d7b2f0c7-0ab8-7608-89d2-534ebed19e76.png)


その後一週間でBoot Camp for Beginners を走破した。

https://qiita.com/Pitta/items/4458ee6f8099ec1d70e3

## ABC331 (2023/12/02) (19→47)

ABC二回目の挑戦、Aのみの１完。B問題は制約から大きな数にはならないと分かっていたにも拘わらず、全探索にたどり着けず。DPにこだわって98分間椅子を温めて終わってしまった。C問題にも手を出したものの提出もできずに終了。コンテストが終わった後は落胆でしばらく動けなかった。

前回のABCからの一週間でBoot Camp for Beginners Easy 100問を走破していたこともあり、正直AB問題は楽勝だろうという驕りがあった。舐めていたと心の底から反省。今回はDPに拘ってWAを積んでしまったので、DPを鍛えるべくここから二週間はDPの特訓をすることを決意。

~~来週のABCは会社の忘年会のため参戦はできない~~ (ABCが日曜になったので参加できた！)


## ABC332 (2023/12/10) (46→182)

ABC三回目の挑戦。初めての緑パフォ！C問題まで解き終わった段階では水パフォだったので、あとは下がりすぎるな～と念じながらD問題を実装しようとしていた。転倒数というものを使うと少し楽に解けた問題だったらしい。

![green-performance.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/a3a8eea8-c1c4-0428-8d84-8aad656c7c75.png)

この回はD問題が割と難しかったようで、Cまでの3問を14分程度で早解き出来たのが高パフォーマンスの理由だった。これ、D問題がもう少し簡単になるともっと低いパフォーマンスになる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/3286d2db-bc70-3d17-076e-29abb060c677.png)


これに慢心せずC問題までの3完は当たり前、D問題も運が良ければ、という感じで行きたい。

でもXで呟いたらとてもたくさんの人がいいねをくれたので嬉しかった。

https://twitter.com/fairy_pitta_/status/1733853948833071445


とにかく量をこなしたいので、Boot Camp for Beginners Medium 100を来週のABCまでに走破することを決めた。



## ABC333 (2023/12/16) (182→275)

ABC332からの一週間でBoot Camp for Beginners Medium 100を90問走破した。残り10問も考察は終わっているが実装をまだしていない or 実装してみたがどうしても合わないので一回諦めた、のどちらかになっていた。

ABC333は個人的な事情があり最初の30分で撤退する必要があり、30分で解けるところまで解いてきっぱり諦める！と参加した。結果的には13分ノーペナABC3完で茶上位パフォだった。D問題は時間があっても通せなかったので30分で撤退したことによるダメージは特になかった。

この回でABC3完早解きの限界を感じた。この回まで本番で通せているのは灰diffのみであったこともあり、茶、緑diffを解けるようにしないと伸びないと感じた。


## ABC334 (2023/12/23) (275→392)

B,C問題が難しくて荒れた回だった。僕もご多分に漏れず、A1分AC、Bで16分までに３WA、Dを見に行って19分AC、Bに戻ってさらに２WAを積んだ後42分AC、Cは解けなかった。BもDも茶diffになり、コンテスト中に茶を通した初めての経験になった。でもD問題は典型中の典型だし、B問題は５WA積んでからのACなのであまり嬉しさはなかった。Cは解説聞いても難しかったです、ハイ。

この回で2回目の緑パフォ(913)を出し、入茶まであと８というところにまで迫った。年内入茶わんちゃん？と思っていただけに残念だったが、緑中位、茶上位、緑下位とパフォーマンスを出せているので個人的にはかなり頑張った方。来年のABC一回目で入茶するぞと心に決めた。

## ABC335 (2024/01/06) (392 → 613)

新年一回目のABCで入茶できた！この回はD問題まで茶下位diff＋E問題は水diffで、E問題が解けない人にとってはD問題までどれだけ早く解けるかの勝負だったように思う。そんな中、A問題AC(1分), B問題AC(3分), C問題は一旦飛ばしてD問題AC(9分)。10分時点でABDの３完でパフォは何と2400だった。

続くC問題は龍の長さが必ず5だと勘違いして1REを積んだ後、20分AC。この時点では青パフォだった。

E問題はダイクストラだろうと検討をつけて色々やってみたものの解けず、45分に撤退した。

最終的なパフォーマンスは1359、初の水パフォで入茶。とりあえず目標は達成できた。

![精進グラフ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/d853f5e9-f651-8ff2-f1b5-d547a382b80f.png)

茶コーダーにはなったものの未だに茶diffの問題は安定しないし、緑diffは全然解けない。慢心せずこれからはとりあえず鉄則本を一周したい。

## ABC338 (2024/01/27) (613 → 736)

仕事で色々と忙しく、3週間挟んでの新年2回目のABC。前回に引き続き奇跡の水パフォ(1262)で温まった。この回はDとEが共に水Diffで難しく、解ける問題の見極めが大事だった。コンテストではとりあえずC問題までを18分ほどで通し、D問題を見るも訳が分からずE問題に。ここである程度の方針 (SortedSet使えばいけそうじゃね？) が立ったのが大きかった。バグり散らかしながらもなんとかAC、水パフォをギリギリ確保した。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/bf68d570-e8b2-f676-2874-7b3016ad24ef.png)


この頃から入緑を目指して毎日最低１問は緑Diffの問題を解くことを始めた。その効果がでてきたのか、茶Diffに苦戦することはあまりなくなってきた。

## ABC339 (2024/02/03) (736 → 794)

入緑間近で意気込んで臨んだが、緑上位パフォ（1102）に終わり入緑は逃した。D問題が水Diff, E問題が緑Diffで、ABCDの４完だった。水Diff通したんだから水パフォくれや！！と少し脳内が荒れたが、緑Diffを通せなかったのは完全に負けなので言い訳のしようもない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/933bfa92-5896-a65a-d5a4-0629e6fa467b.png)



この回のE問題は、セグ木の典型問題だった。コンテスト後も、「ついにセグ木が緑Diffまで...」という声もちらほら見られたが、セグ木未履修だった自分としてはひたすら反省だった。

気を取り直してセグ木の勉強をしてみたが、脳の限界なのかさっぱり理解が追いつかず、セグ木に苦手意識だけが残る。

## ABC341 (2024/02/17) (794 → 821)

入緑しました。４ヶ月間、お疲れ様でした。前回で緑まであと6というところまで迫っていたので、やけに感慨が無かった。が、ひとまず目標達成したのでよかった。

反省点が多いコンテストがこのところ多い。今回はABCDの４完で緑パフォ(997)を出して入緑したが、D問題を通すのに1時間以上かかっている。原因も完全に判明している。**Pythonistaの驕り**である。

D問題のネタバレをしてしまうと、二分探索を使う。しかし、Pythonのモジュール`bisect`では解くことができない（解けるのかもしれないがややこしい）。そこでめぐる式二分探索を使うのだが、`bisect`に甘えてめぐる式をちゃんと履修していなかったツケが回ってきて、めぐる式に頭がたどり着くまでに30分、そこから正しく実装するのに更に30分を要した。入緑早々なんだが緑コーダー失格である。

あとこの頃に自力で解ける緑Diffが無くなり、約9週間続いた毎日1問緑DiffACが終わりを迎えた。残りの緑Diffは解説を読んでも意味がわからないので基礎力の足らなさを痛感している。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/49f0d16c-8334-fd0e-385f-4a752f0b3418.png)
（＾Max Diffの記録）

## ABC343 (2024/03/02) (821 → 841)

完全に集中の糸が切れた中での惰性参戦。

ABCDまでを30分ほどでとりあえず通した。Dが茶Diffだったのはラッキー。

E問題は青Diff、F問題は水Diffだった。

E問題を読んですぐさま「これは解けん！」と直感し、Fに逃げた。
F問題を読んですぐさま「これはセグ木だ！」と理解し、ここで撤退。

振り返ると自分の潔さが多少腹立たしいくらいだが、どうせ解けなかったのはそうである。

とりあえずセグ木が解けないとどうしようもない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/23b60c40-e367-0afc-8003-41eb6ce21b58.png)


# 終わりに

4月の応用情報受験のため、一時競プロを休止します。
応用が終わったら、今度は水コーダーを目指して頑張ってみようかな...

そろそろレートが実力に近づいてきているので、ここからは長い戦いになりそうな予感。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2611731/d4aa5452-8648-573a-5549-1b9145162294.png)