ICPC2016 国内予選

@a3636takoと@kyuridenamidaと出た。結果としては8位と悪くなかったのだが途中経過はガバガバだった。

作戦
きゅうりがメインコーダーで、たこ氏と僕が問題を交互に考察 + その問題をきゅうりとペアプロという方針だった。
これはきゅうりともう一人がコーディングしている間に考察することできゅうりの実装に追いつくという目的だった(と思う)。
彼は実装と考察がミスっていた時のゴリ押し力がとても高いように思うので、考察が固まっていない僕とたこ氏が見てもあまりペアプロとして有用ではない。

実際この方針は模擬国内Bではうまく行った。

経過
きゅうりとたこ氏がABを爆速で通す(AがFA、B通した時点でも1位)。この間に僕はCを読んでいたのだけど、あまり解いたことの無い問題だった(僕は最近トップダウンに勉強していたのだが、数学系問題を踏んでいなかった)のと考察時間が少なかったのもあってかなり慌てていた。

結局まともに考察出来ていなかったので先にDを解いて貰っていたがバグったらしい。途中でCが解けた気がして(未証明)解法を伝えたのだが、これが大嘘で結局きゅうりが独力で通した状態だった(この時点で30位とかだった、葬式)。

(Cに考察?wと思う人も多いと思う、僕もそう思うし本当に悲しい)

Dがかなりバグっていてその間に僕はEを読んで考察、見た瞬間MSTという発想が降ってきてよく考察すると全然MSTではないのだけど性質が似ていてすんなり解法まで辿り着いた。

きゅうりらはDがバグりにバグっていてストレステストを書いていた。その間に僕はEを詰めていた(幾何パート)。

Dが通ったのでEをきゅうりと解く。概要を伝えてきゅうりが頑張って実装。僕がグラフパートをあまり詰めていなかったのでつらそうだった。提出するもWA。ここでたこ氏がFの考察が出来ていたのでそっちをやってもらう。僕がデバッグするも結局きゅうりが頂点数2の時死ぬことに気が付きAC。

Fがバグる(つらそう)。僕はG問題を読んでいた。山登り不可避。

G無理っぽいぞ〜となったので皆でFを通そうということに。2人は画面でコーディングしていたので僕は印刷してもらってそれを読む。結局二次配列のindexを逆にしている箇所があるという凡ミスだった。こういうバグは第三者が俯瞰的にデバッグした方が気が付き易い気がする。

きゅうりがHをフローだと主張するもたこ氏と僕はまともにフローを勉強しておらず応援係になった(とは言えこの時点で残り時間30分とかで終了ムードがあった)。

結局Gマジで山登りじゃねえ?ということになってきゅうりが実装している最中にタイムアップ。


反省
反省点しか無いような状態だったけどそれでも8位になったのは一重にきゅうりの実装力だったと思う。例えばストレステストをさっと書けたり考察が微妙に間違っていたりした時にさっと修正できるのは本当に凄い。

トップダウンに勉強するのは深みにハマり過ぎないので採用していたが、被覆する範囲が限定されて今回のようなことになる。流石に基礎的なところはちゃんとやり直した方が良かった。

僕は短い時間で何かをやるということが非常に苦手で、実装力は壊滅的。短時間で勉強するのに慣れてきた感はあったのだが、これは大学のテスト(充分に考察時間がある)に最適化されていたしTOEICには無力だった。

今回はきゅうりとのペアプロがそれほど有用であったとは思えないし、これは僕の実装力が低すぎるのが根本的な問題。僕がコーダーになることは(多分)無いと思うけど、それで良しとするにはきゅうりに頼りすぎた。

どうやったら実装力上がるんだろうなぁ、本当に頭が悪いという思いしかなくて悲しい。