ICPC2022アジア地区参加記

でたよ

0日目

宿の手配とかは全部やってもらってたので何もしていなかったが, そういえば検索ができないことを思い出したのでICPC用のライブラリを作ることにした 遅延セグ木とかFFTとかそういうのを短めにしたやつを印刷した 荷物を準備して寝る… と見せかけて RiJ を見ていた

1日目

あさ

神奈川県の行脚を付けてなかったのでちょっと早めに行ってゲーセンを探すことにした

(ここで大ミスをしたのだが, 横浜駅で降りてやってから会場に行けばよかったのに日本大通りに行ってから探してしまった あの辺全然ない)

GIGOにげきちゅうまいちょうど1台ずつ置いてあったのでそこで行脚を回収した

ひる

コーチの人に初めて会った(いい人でした) 受付からいきなり英語で心が折れた

リハーサルが始まったが, りなっくすなにもしらんの民なのでこまった セッティングとかだいたいやってもらった 前日に読んだ過去の出てた人の参加記を思い出すと, コンパイルオプションを alias すると嬉しそうだということに気づいた snuke さんが確か g++ を c++17 とかを付けたやつにしていたのでそれをやってみた

TLE OLE などを A問題で一通り試してからAC, Bのインタラクティブをチームメイトにやってもらいながら Cをチラ見すると知ってる過去問そのままだったのでスルーしてDを考える

平行な直線を何本作れますか? だと誤読して bitDP したがサンプル3が合わず, 直線のペアを数えるのだと気づいた (英語が読めないのでサンプルと画像からエスパーしています)

誤読のときの bitDP を再利用して, それをした後に 部分集合を 3n でやるやつでもう1回 DP してみた 問題も正当性も計算量も何も分かってなかったがなんか AC がでたのでおっけー

Cはチームメイトに託したがそのまま時間切れになったのでリハーサルは終わりになった

よる

チームメイトと中華街に行ってみた コーチがいろいろ調べてくれていたらしく, おすすめされたお店に行ってみた おいしかったです

朝電車で暇だったので Library Checker の Convex Layers を考えていたのだが, 完全に理解したつもりになったので RiJ をみながら実装していた (めちゃくちゃ思考がハム太郎に持ってかれた)

バグる気しかしなかったので assert を入れまくったのだが, ランダムケースだけ見事に全部落ちて発狂した

Monsterの残りを飲んだり鼻血が出たりして全然寝れなかった

2日目

あさ

早めに起きて Convex Layers のデバッグをした 勘違い気づいて色々直した結果, 1ケースだけWA になってあと全部 AC になった でかいランダムケースぽくて原因が全然わからなくてつらい

時間がやばいのでチームメイトをさそって朝ごはんを食べた

ついでにいくつかライブラリを追加で印刷して register

ひる

ついに本番! 体調もメンタルも最悪だが頑張る

例の如くセッティングしてもらいながら A を読むとよくある区間スケジューリング的なあれだった 制約も優しいので適当に書いてAC

風船が貰えないのが残念すぎる 自分で膨らませようかと思ったがさすがに自重した

その間にBを読解してくれていた なんかインタラクティブだけど桁ごとににぶたんすれば良さそう 流れで書いてAC

Cがよく分からんので全体的に見てみると, 全体的によくわからない

EFG辺りがなんだか解かせる気がありそうな見た目をしているのでいろいろ考えてみる

Gは追加する辺を全部試せばいいんじゃないかと気づいた 1本追加してなもりグラフになるので適当な辺を切る事でその閉路を解消できる

元々の最短経路から生えている木同士から2点選ぶとだるいことになりそうなので弾くためにだるい思考に入ってしまった

さすがに LCA とか取りたくなかったので, 最短経路を復元→そこから生えてるやつをdfs→ufでマージ とすることにした (uf要らなくね?)

とりあえず書いてみてサンプルが合ったので提出したがWA, いろいろ考えるとなんか根元といい感じにループになっちゃうときに変な値になるコードを書いてしまっていたことに気づき, グリッドグラフなことを利用した手抜きデバッグで直した AC

この時点でなんか13位くらいにいた びっくり

この後がつらくて, 順位表を見てFに飛びついてしまった なんか2次元スーパー部分和DP的なことをすれば良さそうに見えたが計算量が頭悪い

縦も横も同じだし実は1次元で2通り作れたらいい感じに組み合わせて Yes になるんじゃない?w とか笑ってた

実はエスパーの天才だったらしくこれ正解なのですが, 結局書かなかった アホ

あとなんかコイン移すやつを Zobrist hash 的なアレで上手くいかないかなって考えて一生ハマってた 終了10分前に想定解に気づいたが実装が間に合わなかった

あとなんか ICPCなんちゃらsubstring の問題がめちゃくちゃ好みな設定だったのに全然解けなくて悲しかった 迷走して, NTT mod なせいで3次元FFTとかするのかなとか考えていた

こんな感じでだいたい終わった

幾何とか読んでなかったけどおもしろそうなので後で解きたいな

あとなんで構文解析無いんですか

よる

もうヘトヘトでフォロワー探しの旅に出る元気がなかった とがさんはなんかいい感じに挨拶できてよかった

そういえば手元動画を撮らないと行けなかったことを思い出してゲーセンに行って弐寺を2クレだけやった 頻度減らしすぎて地力が狭義単調減少 つらい

次の電車を逃したらバスがなくなって1時間くらい歩く羽目になることに気づき, めっちゃ急いで電車に乗り込んだ

めっちゃ人いて, つらい…

家が遠すぎます

おわりに

最初で最後のアジア地区予選, あと多分最初で最後のオンサイトコンテストということで, いい経験になりました

楽しくもあり辛くもあったけど, やれてよかったと思います