Euldernaの競技プログラミングメモ

主に気になった問題やライブラリの確認に使った問題を示します。

2017 ICPC国内予選 参加記(Team:Maximum-omake)

2017/11/18 あまりに雑な文章だったので全面的に書き直しました。というよりメンバーがtwitter始めてたのでそれに合わせて改訂

はじめに

埼玉大学とかいう大学で競技プログラミングをしている人です。

Maximum-omakeとして2017 ICPC国内予選参加して全体54位・学内1位で国内予選突破となりました。 国内予選通過組の中で最下位だったので選抜されてよかったと思います。

メンバー

僕はMaximumとかいう闇のサークルに所属しているので、自然とメンバーもそこから選出された。この時は僕がサークル内トップだったので好きな部員を2人選んでいい感じだった。

@qcw君は大学のプログラミングの授業が面白すぎて競技プログラミングを始めた異色の経歴を持つ。同学年ということもあり仲が良かったので彼はほぼ固定枠だった。

@qcw君がサークルの同級生たちとあまり馴染めていなさそうだったので、最後の一人は後輩の@seica君を選出した。

ICPC

僕とqcw君の実験レポートのせいでチーム練習は模擬国内予選のみ。その結果も3完とあまりいい雰囲気ではなかった。

これを受けて本番の方針としては4完早解きか、5完で行こうと話してた気がする。

そもそもうちは競プロ専門サークルなのに国内予選突破できるような人間がうちのチームにしか固まっていない。下の方でひっかかればいいだけなのでいけるやろとか考えていた。

ということで話し合ってD問題を全員で考えて瞬殺する方針にした。

ICPC

Aは印刷が終わるまでに僕がプログラム書いて提出。AC。

Bはチラ見したらただのパースぽかったので他の二人に任せてCを考えることに。今思うと何でBを二人がかりで解いてるんですかねぇ

Cのソースコードを紙に書き終わると、何やら二人ともB問題で苦戦していた。

『B解けないとかカスかwww』みたいな暴言を吐いて、B問題を通す。(後にこの発言を後悔する)

ただこの時に事件があってIDENTICALINDENTICALとして1WA食らった。これが響いたら確実に戦犯なので手が震えた。

Dを全員で考察する。あとから見直したら、G問題が最大流を写経したら、ただノードの持ち方を工夫するだけで解ける問題だったので、僕はGを解くべきだった。

D問題が全然わからなくて紙上でたくさん考察しても解法が浮かばない。

seica君が終了20分前くらいに正解にたどり着く。僕らの実装力じゃバグ埋め込んだら一瞬でアウトなので見送る。

今ある全探索コードから枝刈を進めていけば二分探索(two minutesの方)ができると考えて、強引に枝刈した二分探索(two minutesの方)で通した。

最終的に4完(20315)で54th.

ICPC

G問題を見て血涙を流す。 僕がG問題を一切見ていなかったのはやっぱりチーム戦略の失敗だなぁと思った。

ワンチャンあるのでは、と思っていたらOBから「君たちギリギリ通ってなくて受けるwww」みたいなメールを頂戴してほげえええっとなります。

何だかんだがあって†C選抜†で予選突破を果たします。

感想

G問題を見ずにいたのはよくなかった。A-Dを解くって決め打ちはよくないなと思った。(大学生並みの感想)

最下位での予選通過でした。精進します。

後日談

予選突破を果たしたこともあってチーム内やらサークル内でイキってたんですが、他のメンバーが†覚醒†を果たし、チーム内で最下位になりサークル内最強の座も奪われてしまいました。

『D解けないとかカスかwww』

今では僕がARCでこういう風に煽られています。

強くなった(ている)筆頭のqcw君とseica君は来年も国内予選突破を果たすでしょうが、僕にかなりのフラストレーションをためているはずなのでチームには入れてもらえそうにありません。

人間、謙虚に物事を運ばなければ必ず痛い目を見るという平成・埼玉の小話でした。