リンク
総括
舐めた生活態度を取っていたのに加えて、実力以上の問題に時間をかけて取り組むことばかりしていたから、瞬発力が一週間にして見事失われてしまった...
あれだけ睡眠が大事だと言い聞かせたつもりだったのに、結局バイト終わってから2時までずっとゲームしてた。
取り敢えず、ちゃんとやることやった後に競プロをやるようにする。そして、普段の生活でも、集中して取り組む姿勢を養うことにする。規制をするのではなく、やりがいを見つけに行く方針で、成果を上げやすくして、その結果競プロに割く時間を増やせるようにしょうと思う。
そして、格上問題に挑む時間を減らそうと思う。典型90問とかの、質の高い問題を的確にこなす方が時間対効果が高いのではと考えるようになった。
振り返り
A問題
ふつうに困った。1-indexedなのかどうかを数十秒悩んでた(!?)
B問題
必要条件から考えて、queueを使って解いた。実行時間が順列全探索より早いとはいえ、実装時間が最遅なので、早解きという面も含めて最適なアルゴリズムを選べるようにしたい...(やはり時間を測って精進は避けれなさそう)
C問題
offsetを司る変数がオーバーフローして、REで1ぺな。感謝が足りない。
D問題
始めの実装で最後のテストケースと合わない時に、全然実装方針が違うことに気づいて、一斉更新のためにqueueを2つ使って回数記録のmatrixが必要だという発想は回ったけど、自分のコードをもう一回消して、一からやり直すのが途方もないように思えて、挫折。E問題を先に見ることに。
E問題
見た瞬間二項係数だとわかって、ウキウキで実装してたら、mod非素数の時にちゃんと回らないことに気づく。ここでバカな僕は、組み合わせの求め方を階上を掛け合わせる方針から変えることをせず、代わりにライブラリが間違ってるんじゃないかと、一生調べなおしてた...
これは「組み合わせ系の発想が水色相当」だという傲慢な勘違いと「想定が少し違うくらいだと問題の所為にしてた」悪い精進習慣と「D問題を飛ばしていてC問題も1ぺなを出していて後に引けなかった」必死さが原因だったのかなと思う。
いずれにせよ、格上問題に対して尊敬の念を抱いて、実装問題を的確に忍耐強くこなせたら、見える世界は違ったのかなあと思う。
今後について
生活習慣を改める方向で、とりあえず進める予定。今月はバイトも、50時間程度しかしてなかったらしく、驚き。もうちょっと人としての底力を上げてから、挑みなおしたい。
精進自体は、木曜日ごろからupsolveを主軸に再開すると思う。

