ACM-ICPC 2017 Asia Tsukuba Regional Contest: 参加記

,

https://icpc.iisf.or.jp/2017-tsukuba/regional/

1日目

交通費/宿泊費による赤字回避のため今年は飛行機による移動となった。 茨城空港への便が少ないために朝6時に家を出なければならずかつ待機時間が長くつらかった。 朝が早くなるからとJAXA見学に申し込まなかったのは失敗だった。

リハーサル

今年のキーボードはまともだった。会場の温度や配線の具合なども全体的に去年より快適であった。 ホスト校の筑波学院大学の名を競プロで聞いたことがないため不安視する声があったが、何も問題はなかったように見えた。

なお今年はぬいぐるみの持ち込みが明示的に許可されていた。

懇親会

農工大の人とCTFの話をしたり、豊橋の人から哲学の本(論理式とかは出てくるやつではない)を頂いたりした。 Harekaze CTFの準備は間に合わせたいですし、本は読まないと評価できないのでとりあえず読みます。

宿。 HackerRankの影響で生活周期がずれており、翌日のことを考えてチェックイン後は即就寝をした。 これによりパーカーを逃した。

2日目

本番

ABCの$3$完。EFGIの解法は出ていたが実装でミスを重ねて終了。

私が実装担当、チームメンバーふたりが考察という分担。 Aはやるだけ。 Bは実装したが計算量見積りミスによりTLE。 Cは簡単だったので先にCを実装。 EFGIを任せてBの解法を出し実装するが、実装ミスによりWA。 デバッグするよりメンバーにフルスクラッチしてもらう方が早いことが多いのでBの実装を任せて考察に移る。 Gの解法は自明なので既に出ていて、EFIも見れば明らかだった。 Bの実装が終わり、私が計算機の前に座る。 この時点でペナルティが多すぎ、完答数勝負となるのでデバッグ時間確保のためバグを埋めるだろうGから実装を始める。 Gを書き終わるが当然のようにWA、印刷してデバッグを任せる。 Fに移るがこれもWA。 ここから必死で両面デバッグをするがそのまま座り続け$3$完で終了。

反省

思い付く反省点は次の$4$種

  1. 私の実装力の不足
  2. 私の数学力の不足
  3. チームワークがない
  4. チームワークがないのにチームワークが要求される動きをした

(1.), (2.)は明らかなので略。(3.), (4.)について。 Gのバグの原因は私が座標変換を間違えたことおよびそれに気付いた考察担当との間の情報伝達のミスであるため。 内積を取り射影して基底の変換をしたつもりになっていたがもちろん大嘘。 サンプル1を紙に書くだけで分かる単純なミスなのだが、デバッグを任せていたため私は自分では試さず、G担当のメンバーはもちろん気付いたようだが伝わらず。 おおよそ次のような会話がありました: 「この部分が良く分からないのですが」「それは基底を取り直してるだけです」「基底ってなんですか」「えっ、線形代数ぐらい勉強しておいてください。たぶんそこは正しいので他を見て」「あっはい」。 反省しています。 ペナルティの最小化のため全て私が実装する戦略であったが、完全に失敗であった。

後から考えるに、つまりは私がチームメンバーを何も信頼していなかったということではないかと思う。 例えば私に競プロを布教した師匠にあたる人間に対しては同様の状況でも「彼が良く分からないと言っているのだから何かおかしいのだろう」という判断になっていたはずだが、そうではなかったため。 実際に彼は優秀だと判断していたはずなのだが、コンテスト中でハイになっているとだめらしい。 相手が競プロ以外のバックグラウンドを持っていない人間であるとratingで自然な順序が入ってしまうためか。

ところでそもそもチーム内で私が最もratingが高い時点で何かがおかしい。 私は競争的な状況でリーダーのようなものをやれる器ではなく、誰かかしこくて頼れる先輩みたいなのが上に居てほしい。

懇親会

企業ブース。 まだ先ではあるが以前よりは就職が近く、そのような目線が入りつつ見ることになる。 「私はプログラマではなくて数学徒なので」「ディープラーニングは流行りっぽくてあまり好きでなくて」のようなことを言いながら回るとけっこう面白い話が聞けるのでおすすめ。 お土産としては、IBMの人で神戸出身の人から特別にとTシャツを貰った。 ドワンゴの輪投げで貰えるテレビちゃんのぬいぐるみは欲しかったが輪投げが下手すぎて貰えず、複数獲得していたチームメンバーに後からひとつ譲り受けた。

京都や東工大の人で基礎論をしている人がおり、そのような話をしたりした。

3日目

エクスカーション

ついに復活した。

$1$社目 PFN。 事前知識としては「なんでもディープラーニングで解決する会社なんでしょ?」のような雑な認識しかなかったが、そうではなかった (それはそう)。 「社内には自動定理証明みたいなことをやっているチームがある。宣伝はしてないようだが、そこを指定してインターンを申し込めば受け入れてもらえるかもしれない」「30歳が近付いてくると運動の必要性を感じるが、みんなやってるボルダリングはウェイ感があってつらい、山登りがおすすめ」といった情報も得た。

$2$社目 Indeed。 「従業員の構成から自然に社内公用語は英語だが入ってからちゃんと研修があるので大丈夫」「金と裁量が降ってきてプロダクトを作って公開する研修がある」らしい。 以前のエクスカーションで行ったGoogleとオフィスの雰囲気が似ていた (雑な感想)。

また、三重からの他の参加者で基礎論ぽい人がおり項書換え系やtoposや位相空間の話で盛り上がった。

飛行機。「とりあえず一番遅い時間にしておこう」をしたのは失敗だった気がする。

まとめ

(成績を除いて)今年も楽しめました。来年こそは頑張ります。