しゅどぼ / ICPC予選2024参加記

Created Sun, 28 Jul 2024 21:00:30 +0900 Modified Mon, 23 Dec 2024 12:05:58 +0900
1080 Words

これ見て

haruki視点

当日までの流れ

チーム結成

誘われたとき、ちょっと興味あったのと、harukiさんが去年人が集まらなかった(泣)と言っていたような気がするので数合わせのつもりで軽くおっけーを出した(え?)。

チーム名

haruki視点が出るまで由来は知らず(え?2)。

チーム練習

ばちゃではFPS問を解き、貢献。一方模擬国内では誤読をしてしまい、戦犯

個人練習

とくにやってません(え?3)

前日

誤読は不摂生のせいだと考え、とりあえず早く寝て体調を整えるようとし、それは成功しました。

当日昼くらい

寝坊対策うんぬんとあったけどだれも反応しておらず結局自分は反応せず(え?4)。プリンター運搬で腕を破壊

†Programmer Dvorak†の人間なのでQWERTYに慣れる練習もした

本番

B問題

Cを解く予定だったが、苦戦しそうだったのでharukiさんに投げてBを解くことに。(自分じゃBFS思い付かなかったかも)

見ると、あ~愚直にシミュって入れ替わったらインクリメントですね~~を書いてAC。

D問題

Cを解いてくれている間に考えると、途中からループになり、ループの直線の数は\(O(n)\)だからまあがんばればいけそうと判ったのでそれを伝え、Eの考察に移動(後に座標が小さいから1手ずつシミュっても耐えれるからそれで実装したらしい)。

E問題

まず問題見るとc_1 == c_nのときは自明(サンプルにある)とわかる。そうでないとき(c_1 != c_n)が問題。とりあえず必要条件を探すと、

  • \(\exists i, j\ \mathrm{s.t.}\ i < j \land c_n = c_i \land c_1 = c_j \)

が見つかった(ちゃんとこれを満たさないときは構成できないことも証明した)。ここでサンプルが非常に弱いことに気付き、input1 2 1 3 2を追加。その後\(i\)と\(j\)が対称だと勘違いしてて(さっきのinputは非対称なのに)、戒めとしてさらに追加で1 3 2 4 1 5 6 2を追加。さっきの条件が十分条件であることを信じ、手での構築とパソコンでの構築を行ったり来たりしてゴリ押し実装をしてなんとかAC。(コンテスト後に対称だから回転させると良いって聞いて賢~~になった)

通したときははしゃぎすぎて体力使い果たした(え?5)。

F問題

おそらく予選通過は堅いけど通せると嬉しいね~になって考える。コインから向かわせて所定の方向から玉にぶつかるとOKそうだね~となり、実装してもらったが、時間切れに……(ぼくは死んでました)

終了後

片付けをしたり監督の先生に競プロについて詳しく説明したりし、くら寿司に行き、2回もびっくらポンを出した。

感想

予選通過すごいですね~~(他人事)(え?6)