JOI2020本選 参加記

去年
ta1sa.hatenablog.com

0日目

夜に謎の熱っぽさに襲われ、頭も痛かったので厳しい気持ちになった。

1日目

朝起きたら体調がマシになっていたので、難易度9バチャをする。しかし、1年前に自力で解けたTentsという問題が全然解けず、冷えた。
普通に一人で電車でつくばに向かった。去年と同じように毒蛇の脱走を考えていたが、小課題3以降の進展は結局なかった。
つくば駅ではラムネを買った。これが後の運命を左右することとなる(ほんまか?)
会場まではあまり迷わなかったが、途中つくばカピオに無意識に向かいかけてしまった。2年前にTwitterに大量に流れてきてたからしょうがないね。

行くと知っている人が結構いたが、この時点で体力をかなり使ってしまっていたので席でダラダラしていた。
ラクティスは、全完した後にEmacsのAdventureというゲームをやってみようとしたが、何を打ち込めばいいのかよく分からずまともにできなかった。
講義でOSSへの理解を深め、夕食では、炭水化物を大量に摂取した。ここでもあんまり積極的に交流はしなかった。人々の若さを感じた。

宿に着いた後はTentsを通して自信をつけようと思っていたが、スマホを入れた上着を脱ぎ捨てた際に独房のベッドの角にぶつけたらしくスマホの画面が割れ、とても悲しくなった。本選1週間前にPCの充電器とイヤホンを壊したばっかりだったのに...。
それを煽りに来た人々とわちゃわちゃした(なぜか名札が消え去った)。なんだかんだでその夜は色々な人と話した気がする。あとTentsは自分の方針だと先に進めないと知ってしまった。
22:30くらいに消灯したが、その後は体調の悪さ+緊張で体が火照ってしまい、ひたすらつらかった覚えがある。気がついたら眠っていて、朝だった。

2日目

6:15くらいに起きて外を見ると夜明け前で、空がグラデーションしていてなかなか良かった。朝食は、THE 日本食という感じで、質素だが自分は割と好きな感じだった。
気分を上げるために音楽を聴いたりし、本選会場に向かった。
開始まで謎の待機時間があり、その間に頭が痛くなってしまって険しかった。開始5分前からはワクワクの気持ちが勝っていた。

競技が開始すると、問題を見る前に諸々の前準備を済ませた。

1問目はすぐに貪欲が見え、証明もできたが、自分の頭を信用していなかったので部分点から取りにいった。あまり迷わず、22:12に満点。

2問目は、しばらくまともな解法が思いつかなかったが、「尺取り」というキーワードが思い浮かぶとすぐに解けた。47:54に満点。

3問目は、小課題1つ1つの意図がかなり明らかだったので、正当性を犠牲にまずDPテーブルを考えた。そして普通に正当性が分かったので実装すると、一発で満点が取れて感動した。74:50に満点。

4問目は、小課題1,2は割とすぐに分かった。メダルを取る気だったので満点を考えたが、不可能に見えた。そこで、安全策を取ろうと小課題1,2を先に実装したが、小課題2しか取れていない(129:07)。
「高々1つ」の誤読に加え、様々なバグを埋め込んでいたので、小課題1が通ったのは5問目の部分点を取った後、172:36のことだった。

5問目は、見た目は仰々しいが、問題文を読むと好きなタイプのクエリゲーであることが分かる。それぞれの小課題も意図が明らかで、ほぼ考察することなく分かってしまった。全人類これ取れてるんだろうなーと怖くなった。
RMQセグ木とBITを生やし、ほぼバグらせずに163:16に20点。

4問目の小課題1が最後の得点となったわけだが、そこから先は、5問目の満点 or 4問目の小課題3 で迷い、残り1時間であることを考えると、どう考えても実装が重そうな5問目は選ばないべきだと考えて4問目の小課題3をひたすら考えていた。
しかし、体力・集中力のなさからあまり考察に身が入らず、嘘解法を生やして悲しくなっただけだった。ただ、解説によるとあまり遠い方針でもなかったらしい。
もっとも、ラムネがなかったら3問目を通した時点で力尽きていただろう(伏線回収)。糖分大事。

結果は 100+100+100+16+20=336 という人間に取れる問題を全て取りましたねという点数だった。実際、自分の取ってない小課題はメダリストしか取っておらず、取った小課題は大量に通されていた。
去年も同じような取り方をしていて、結局1時間以上残してしまったので、成長を感じられなかった。

競技終了後は昼食だが、去年と同様お通夜ムードだった。治安は去年よりは良かったが、ボーダー予想が飛び交っていたのは変わらなかった。どうやら300前後らしい。
あと、自分より高い点数の種類数が3以上であることが確定し、悲しくなった。去年は3位だったが銅賞がもらえず、今年こそメダルが欲しいと思っていたからだ。
ただ、多分春合宿に通ったということで、若干の安心感もあった。シンガポールに行きたいのはもちろんだが、春合宿に行くことで得られるものはとても多いと思っていた。

解説と自分の感触を総合して、今回の難易度は 6-7-8-11-11 のようだった。4も5も完全に不可能な問題ではなかっただけに、自力で解けなかったのが悔やまれる。

今年はカラオケには行かず、普通に帰った。帰りながら4,5の考察をしようと思ったが、疲れからかあまり身が入らなかった。

反省

1-3のムーブはそれなりに理想的だった。1で部分点を実装せず、2をもう少し早く考察できればよかったという感じ。
問題はそこから、使う頭が変わってしまったというところにある。
1-3を解いている時は、脳をフル回転させていたという感覚があった。しかし4を解いている時は、意味もなく図を書いて考察した気になり、まともに頭を使えている時間が少なかったという感じがある。5に関してはそもそも満点は不可能だと思ってまともに考えなかった。
これは、難しい問題を、解けると信じて解いている時のモードで解く経験が全くなかったということと、体力不足に起因すると考えられる。
ただ難しいところは、満点を取れると信じて部分点の考察をおろそかにするのはかなりリスキーだということ。つまり、全ての小課題をまともに考察できる体力・集中力が必要。
春合宿までにこれをなんとしてもなんとかしたいので、色々やってみようと思う。(決死の十時間バチャ?流石にやりません...。)