ICPC2021国内予選参加記

f:id:no_imi:20211105222419p:plain

全体 2 位/学内 2 位でした!! 去年落ちて悔しかったので今年は無事通過出来て良かったです。

折角なので本番中の動きについてメモっておきます。

  • 本番前

    • 作戦を説明。のいみが BC, jell が A, シャーペンに DEF を読んでもらうことに。
  • 本番

    • ページが繋がらない。キレる。去年もやってたやんこれ~~と言いながら F5 してたらつながったので B を読む。
  • B
    • 問題文を読むと解けてたので書いた。しっかりと問題選択を忘れて missing problem! を出しつつ AC
  • C
    • 読む。めちゃくちゃ読みづらいし読めても解法がわからない。
    • 回転が怠いけどこれ形変わらないし実質根の取り換えだけだな。C だし実は自明な上界が達成可能?→すぐに嘘がわかる。
    • 全方位か~?んなわけあるか!w
    • こうしてる間に A が通ったのと D が解けたのを聞く
  • D
    • D のいみが実装した方が早いといわれパスを受け取る。
    • 代わりに C を jell に考えてもらう。
    • 話聞くとマジで DP 書くだけだったのですぐに AC。
  • 再び C
    • やっぱこれ全方位しかなくね?と言われる。
    • ほかに解けてる問題もなかったので仕方ないから書きます!と言って書き始める。
    • 構文解析パートでバグらせるも子の数が少ないのもあって木 DP パートが結構サボれたのでそこまで苦労せず AC。
  • EF
    • 一旦落ち着いたので順位表を見る。→BD FA だし余裕の一位じゃん!
    • E も F も多分解けてるといわれたが、F が嘘っぽいらしいので E を jell に書いてもらい F の聞き役に回る。
    • 基本的にはあってそうだが、有向グラフに辺を貼って強連結にするパートがダルそう/嘘多そう
    • 多種多様な嘘を生やしては撃墜を二人で繰り返しているうちに E が沼る。
    • 2 ペナ出したところで手伝いに行く。コード読んでもよくわからない

のいみ「とりあえず #define int long long でもしてみたら?w」

jell「うーん、流石に変わらんと思うんだけどなぁ」

jell「え、めちゃくちゃ変わったんだけど」

のいみ「草」 → 無事 AC

  • F

    • その間に考えた F の解法の一つが正しそうなことをシャーペンに検証/証明してもらったので実装に取り掛かる。
    • こういうのは証明ベースで考えた方がいいね(入次数0/出次数0がともに減るような操作だけしないといけない)
    • 多種多様な罠、罠、罠、バグ、嘘に困らされる。
    • 一応書きあがるがサンプルは i -> i がマッチングになってるやつしかなくて不安なのでチェッカーを書いて assert を入れる。
    • 走らせる!→ assertion failed →マジで殺すぞ
    • failed している小さいケースを出力させて検証を手伝ってもらってる途中でチェッカーが間違ってることが判明(は?)
    • 直して投げると assert が通る
    • そのまま投げると AC!チェッカー書かなければよかったじゃん…
  • GH

    • 余った時間で GH を読む
    • なんか G は木幅 2 っぽい→マジでそうじゃん→時間ないわバカ
    • H は反転効きそうじゃね?式の形的に→マジで効くらしい→時間ないわバカ

というわけでコンテスト終了です。WF 目指してアジアも頑張ります!

追記

応援してくださった方ありがとうございました!あとでツイッターを見返したんですが、序盤と F 通したときに結構言及されてて嬉しかったです。