AGC030

A - Poisonous Cookies

毒入り食べて、解毒剤食べて、と交互に繰り返す。毒状態で終えてもいいことに注意。解毒剤は美味しいものから食べていく。解けそう。10^9なのでさすがにそのままシミュレーションはできないが、まあさすがに解けるはず。最後まで交互に食えるなら、全部食える。美味しいものは全部でB+C個ある。それよりも多いなら、交互に食べて行けるところまで行って、解毒剤が尽きた毒状態で終わる。このときは、毒入りを解毒剤の数+1まで食べられる。それはわかる。解けているっぽい。しかし、境界がわからない。a + b + 1 >= cと書いたけど、あまりにも見慣れない形で、正しいという感情のサポートを得られない。わからないものはしょうがないので、理屈で何度も確認しながら書く。7分弱。時間がかかってしまった。

B - Tree Burning

ターン毎の選択肢は2つ。どの段階においても、行ってない部分(木が残っている)は1つのかたまりになっている。そこまではわかるが、まだ手が広すぎる。今の自分には何もわからないが、いい性質があってもおかしくないなあと思う。小さい例で色々実験する。定番だが、逆から考えてみる。最後の木からスタートして、木を置いていく感じで。最後家に戻るのが面倒そうだがとりあえず放置。その場所に木を置くための条件がややこしくてわからない。ひたすら考え続け、だんだんと様子がわかってくる(かなりぼやけてはいるが)。既に置いた木が間にあってはいけない。つまり、中途半端な場所に木を置いてしまうと、木と木の間に木は置けないのでゴールできなくなる。残った区間の端っこに置くわけだが、2通りある。近いほうへ置くメリットはなさそう?遠くまで行けば遠くまでの距離が1手で稼げるし、近くへ行っても、結局遠くまで行ったときに行きの距離は1手より多いのに同じだし、帰りの距離も短くなる。さて、ということは単に左右へ動き続けるだけでいいのでは?最後の木N通りを試すのが部分点かと思っていたが、4通りくらいに場合分けすれば最後の木は定まってしまうので、これは部分点解法ではない。簡単すぎると訝しむ。ここで迷うけど、コンテストに出る目的は、実力を上げること(あと、楽しむこともあるけど)。間違っている可能性が高いとわかっていても、正しいと思うならそれを提出しよう。

この時点で50分くらい経ってる。赤い人は800取ってるし、青い人は300取ってる。その意味がわからないまま実装に入る。実装はかなり面倒。reverseすればいいのは簡単だが、左右どっちから行くかが難しい。なんとか書いた。こういうとき同じことを2回書いてはいけない。いけないけど、本質的に違いがある場合はそこをしっかり書く必要がある。だから難しい。何とか書く。サンプルが合うところまで行った。見直しをして提出。問題外っぽいWA。ここで300点になるのかとも思ったけど違った。部分点の正体が全然わからない。この時点で残り35分。ようやく体があったまってきた。

確かに、そんな自信のある考察ではないが、他の例を作って試してみても自分の間違いが見つからない。見つかる気配がない。コードにもバグはなさそうだし、これより優れた経路があるとは思えない。いつの間にか残り10分になっている。早すぎる。Aに使った時間は無視できるとして、Bの1問しか考えてないのに一瞬でこの時間になってしまった。方針を変えることも考えたが、10分で実装するのは無理。時間の制約によって、コンテストの最後のほうの行動がつまらなくなるの嫌だなあと思っていた(ここまではけっこういい動きができていたということでもある)。しかし、違う方針を考えることで自分の間違いがわかり今あるコードを修正できる可能性もあるのではないか。そう思って違う方針に行った。どこへ?ノートに描かれた図を見て、区間に重みづけしてみた。間に合わず(間に合っても、別の方針になってなくて間違い)。

コンテスト直前、トイレに行ったりしていて体が冷えていた。Aを解いているときは、心拍数が上がらないなあと思っていた。上がらないものは仕方ないので、ここはノンペナで確実にACする。1完で終わるとわかっていればもう少し急いだが、これは本番のときの行動のほうがいい。Bもなかなか思考がまとまらず、Aに時間がかかったことも含め地力のなさを感じていた。後半になり、時間の経ち方がはやいことに気づく。今日は、大したことではないけど、家の手伝い的なことをしていた。その中で、たくさん会話をして知らぬ間に自分がいつもの自分でなくなっていた。そもそも、自分も含め人間の人間らしい部分はゴミだと思ってるし、そんな中で会話をしたら心は疲弊する。コンテスト前の一日は独りで過ごすべきだったのかもしれない(いつもはそう)(やや雑に書いてます)。まあ結果自体はそんなこと関係なくありえたというか、最近明らかに競プロの練習が減ってるので。ただ、それはわかった上で、今の自分の実力は出し切りたいと思っていた。それができなかったのが反省点。そんなに悔しいという感じではなく、コンテスト中の立ち回りも振り返るとわりと満足できる。挑戦した問題数が少なかったので楽しさが減ってしまうのは残念。「レーティングが低いと次のコンテストが楽しみなる」というのはずっと前から思っていて、それなのに秋ごろの不調時はそう思わなかったのだが、今は次のコンテストが楽しみ。最近はぼんやりとした幸福感があり、何もしなくても耐えられてしまう面があり、心は安らか(あくまでも以前の自分と比べてで、そこまで安らかじゃない)でもその状態を客観的に見て不安だったりはする。