Mitsubachiのメモ

組合せ論をしています

JOI2021/2022で入賞した話

よくあるやつ

f:id:Mitsubachi88:20220213192605p:plain

f:id:Mitsubachi88:20220213192715p:plain

本選時点

AtCoder 2049(Highest 2093)

Codeforces 2153(Highest 2153)

 

-1日目

JMO本選に出る。長くなったので別記事にした。

 

1日目

開会式+プラクティス。開会式、Zoomで参加者挨拶を流しただろうけどラグがひどかった。去年みたいにYouTubeにすればいいものを。

僕の挨拶は自分の声を聴きたくなかったので抜けたが、discordを見るにウケたっぽい。滑らなくてよかった。(校歌歌って滑ったら、嫌なので)

 

ラクティスはいつもの5問。最初の3問は書いたけど残りがだるいのでAtCoderから過去の自分が書いたものを持ってきて貼る。ついでに出力形式の確認をして、

  • 空白区切りを改行区切りにしたりその逆をするとWA
  • 末尾に余計な空白とか改行をつけてもAC

であることを確認。(先頭につけた場合はやらなかったな)

 

Among Usで軽く交流して日が変わる前ぐらいに寝た。

 

2日目

7時に起床。落ち着かないので朝食後ストレッチと朝風呂をしてYouTubeを見る。9時に競技開始。

 

[1] インターカステラー

f:id:Mitsubachi88:20220213142438p:plain

雑に二分探索だなとなり雑に書いてAC。難易度5かな。

 

[2] 自習

f:id:Mitsubachi88:20220213142639p:plain

とりあえず A_i=\max(A_i,B_i) としてよくて雑に考えて二分探索が見えるので書く。余裕やなとか思って出すと0点が帰ってきて焦る。

M=1 の小課題1は \min(A_i) であることを確認して考察が間違ってはなさそうなことを確認。コードをよく見たら判定中にオーバーフローしてそうなので雑に枝刈りをして出す。通って一安心。

 

[3] 選挙で勝とう

f:id:Mitsubachi88:20220213143433p:plain

マジで山場だった。辛かった。例年の傾向的に3問目にあるであろう難易度9を通せれば勝ち、そうでなければ負けと思って開く。

 

小課題1はいいとして、2以降うまく思いつかない。協力者の人数を決め打つとDPがうまくできて O(N^4) が得られるので小課題4,5,6をAC。

小課題1,2もとりあえず通す。 N=K の小課題7を考えるがよくわからない。

ここで協力者の人数を決め打ったときの最適値がいい性質あるんじゃないのかと思ってやると三分探索の形になる。けどTLE。

ここらへんでパソコンでコンパイルはできるけど実行がなぜか不可能になったので泣く泣くコードテストの民になる。

 

次に考えたのは i 人協力者がいる場合と i+1 人いる場合でそんなに差がないのではないかという予想。サンプルで試すと各州の役割の変化が高々 2 人ぐらいであることに気づく。これを利用して書く。お祈りしながら出すと10点。(11:31:57のやつ)

絶望しながらどこが落ちたかを見ると小課題3に該当する1ケースだけということに気づく。というわけで N \leq 100 だけ場合分けしてAC。幸運すぎる、よかった。

 

[5] 砂の城 2

f:id:Mitsubachi88:20220213145414p:plain

問題4と5を両方見るが、5しかパッとわからないので、雑に書いて小課題1,2を回収。

 

[4] 鉄道旅行 2

f:id:Mitsubachi88:20220213145539p:plain

これも小課題1しかわからない。しかもダイクストラで解くとTLEで01-BFSじゃないと通らないという鬼畜っぷりだった。解き方が悪いのかもしれない。

 

結局 100+100+100+8+19=327点でフィニッシュ。

[4]と[5]の部分点を全然回収できなかったので絶望してたけど終わった後にdiscordとか非公式順位表を見たが16位なので入賞圏内に入れてそうなことを知る。めちゃくちゃうれしい。

 

交流会

双子が交流をするので参加。後輩と同じチームだった。特にキャリーできなくて申し訳ないという気持ちに。

 

おわりに

長い競技科学人生でしたが最後の最後には春合宿に参加できそうでうれしい。春は...まあどうせ代表にはなれないのでエンジョイ勢します。ソラでセグ木も書けない人間。

 

セグ木をソラで書けなくても、2次予選Bランクでも人差し指タイピングでもここまでいけますので希望を持ってこれを見てる若い人は精進しようね。

 

追記

入賞してました。本当にありがとうございます。筑駒10人っておかしくない?