競プロ

参加記、解説、etc...

JOI 春合宿 2022

この記事では、問題の解法に関する言及が一部含まれています。ご注意ください。

全体感想

  • 非競技

楽しかった。やっぱり 30 人いると盛り上がって良い。会ったことがある人・ない人含め交流できてよかった。

  • 競技

去年よりは確実にいいパフォーマンスが出せたと思う。問題は去年より易化していると感じた。 難易度 10 後半 ~ 11 前半くらいの問題が体感多くて、ここら辺をだいたい刈れたのが良かった。

  • 参加者

参加者のレベル上がってないか?自分が解けなかった問題でも普通に 10 人とか満点とっているので、怖い。 難易度 10 確実に取れれば代表狙えると思っていたが、この感じだと来年以降は 11 もある程度解けないとダメそう。

中学生がここに沢山来てるだけでも凄いんですが、中 2 で 500 点超えてくるのはヤバいよ。 来年代表なれるだろと思ったが、高 2 が抜けてもあんまり嬉しくなくて、強い高 1 がまだ残ってるんですね〜〜、厳しい世界。 2, 3 年後の春合宿にチューターで参加して、彼らが無双するのを見るのが楽しみです。

~ Day 0

1 月後半から 2 月にかけて JOI 埋めをやった。3 月は忙しくてほとんどやれなかったので、前日に 1 回だけ 5h バチャをやった。

f:id:yuto1115_cp:20220326002333p:plain

Day 1

今年は宿泊補助を得られなかったので、毎日 1 時間半かけて通った。渋谷で井の頭線に乗っていたところ、まだ席は全然空いてるのに体がぶつかるくらい近くに座ってくる人がいて、 ヤバいやつか??と思ったら kaage だった。ここで会えたおかげで駒東から会場まで迷いませんでした。感謝。

控室で軽く交流した後、初競技に臨んだ。まず 1 問目を見る。どうせこうじゃないと解けない!と思いながら強気の未証明を投げると、ちゃんと部分点が通るので確信。 満点もいけそうなので考えると、実装がダルい解法を思いついたので書く。いきなり JOI やらされてんな〜〜と感じた。2.5h くらいで無事満点。2 問目を考えるが、こんなものが解けていいのか?という気持ちにしかならない。 とりあえず自明だけ取って次に進むと、3 問目は簡単だったので満点を書いて、通す。2 問目に戻ったが、結局追加点は取れず、1 時間椅子を温めた。ずっとマスコットを撫でていた気がする。

昼食後、配られた順位表を確認すると、1 位とは 30 点差で同率 2 位。90 点差じゃなくてよかった。

mac はファイル名の小文字と大文字を区別しないことを知った。

Day 2

寝ていたわけでも無いのに乗り換えを忘れて一敗。歩きパートでも迷うとやばかったが、昨日 kaage が連れて行ってくれた道を頑張って思い出しながら歩くと、無事到着。

Day 1 はフォーマッタの設定に失敗したが、今日はうまく行った。今年の春合宿では色んな IDE の機能の使い方を事前に頭に入れておいたので、かなり快適にコーディングができた。 1 問目、解けそうなのになかなか O(N4) から落ちない。1 時間くらいで O(N3) が思いついたので、部分点のつもりで提出すると、緑の表示。え??となる。後でチューターとも話したが、普通に非想定っぽい。犯罪が得意で、すまん。2 問目、まるで考察が進まない。中盤は何も思いつかない辛い時間帯で、お菓子を食いまくった。ようやく思いついたが、バグに悩まされ、残り 1 時間で何とか 40 点を獲得。3 問目は 2D セグ木を使うなどして 73 点を取ったが、満点は取れなかった。すぐデータ構造に走ってしまうの、良くないね。それはそれとして、今まで書いたことのない 2D セグ木を 15 分くらいで書けたのは良かった。

順位は変わらず 2 位。トップとの差が 17 点に縮んだ。

Day 3

電車に乗っていたら、緊急停止ボタンが押されて 20 分くらい止まった。集合時間には間に合わなかったが、競技開始が遅れるほどではなかったので良かった。

1 問目、何も見えない。こういうのどうやったら解けるようになるんだろうか。2 問目、満点を取れると思ったが 83 点で止まってしまう。log を落とさないといけないんだなあと思ったが、とりあえず飛ばす。 3 問目、これまたずっと考えてもなかなか見えない。Day 2 までが簡単に感じたので、もしかして今年はずっとこんな感じ...? と思っていたが、分からされてしまった。Hall の結婚定理自体は序盤に考えたけど、春合宿に出るわけないと思ってまともに考える前に捨ててしまった。結局合計で 100 に行かなかったので、終わった......と思ったが、周りも出来てなさそうでひとまず安心。とはいってもこの日の成績は全体 13 位で、4 日間通して 1 番の反省日です。

総合順位と、トップとの点差は変わらず。ボーダーと 100 点差をつけて安心して眠る予定だったが、無理だった。もし明日失敗したら......という不安がよぎる。 ネガティブ思考してて良いことは何もないので、どうせ大丈夫だと自分を鼓舞しながら寝た。

Day 4

最終日にして、初めて何のトラブルもなく電車移動を完遂した。すると、めちゃくちゃ速く到着してしまった。

1 問目、制約からしてどう見ても Q = NM log M で、この手の Communication の log は二分探索か分割統治なので、その路線で考えると、解ける。45 分で 100 点が取れたので、だいぶ精神的に落ち着いた。 2 問目、簡単そうに見えたが、しばらく考えると、どうも難問枠っぽい。しばらく考えた後、自明だけ取って次に進む。3 問目は自然な考察を積み重ねていくと解けて、とりあえず部分点を出してみると、緑の表示。 Day 1 の犯罪を思い出して、またやったかと思わず笑ってしまう。もっとも、後で解説を聞いて分かったが、今日のは犯罪ではなくて、非自明な計算量改善が起きていたらしい。2 問目に戻る。考察の欠片みたいなのは沢山集まったが、それが上手く纏まらずモヤモヤ。部分点解けなくはないんだけど、実装がマジでヤバい。最後の 30 分でマシな方針が思いついたので書く。サンプルに落ちたのでバグを直して、もう一度サンプルを試そうとしたところで、突如パソコンがフリーズ。急いでチューターを呼んだ。結局、競技時間延長はされないが提出だけはさせてもらえることに。とはいってもサンプルも試せてないし、期待はできないな......

順位表が配られた。なんと!最後に提出したコードがちゃんと点を獲得していた。1 位には 6 点及ばなかったが、最後まで 2 位を守れた。安心。 表彰式や写真撮影を終え、春合宿が終了した。この日は 7 時くらいまで会場に残って人と話していて、楽しかった。その後もちょっと遊んだ。

今後

今年もまた APIO, JOI open, IOI と続きますね。今年こそはインドネシア、行けるといいなあ。