鯰の住処

Namazuが真面目な話を書きます

ICPC 2019国内予選参加記

7/12 (金) に開催されたICPC 2019国内予選に参加してきました.

チーム

P IS NPというチームで出てきました. チームメンバーは,

の三人です. 全員AtCoderのレートは水色です.

同じくらいのレートで組めたら楽しいよねって感じで私が二人を誘いました.

結果

  • 全体で58位/458チーム
  • 東工大内で7位/22チーム

でした!!

f:id:blondenamazu:20190715225902p:plain

自分たちの実力を鑑みればかなり力を出し切れた方だと思います.

順位表を見ると,今回は3完のチームが100チーム以上あったみたいですね.ミスもなく,実装も早く出来たという点で満足しています.

戦略

言語は私がC++,ぱるまとPolyがKotlinでした. ICPCのルールでは事前にソースコードを準備してはいけないため,私がC++用のテンプレートを書き始めるところからスタートしました.

問題の解き方については,B問題以降はなるべく全員で考察してノーミスを目指しました.

また,私は実装にそこそこ自信があったので主に実装を担当することにしました.

私たちの実際の競技中の立ち回りは以下の通りでした.

  • Namazuが印刷してきたC++のテンプレートを写経開始.同時に,ぱるまとPolyがA問題を考察開始
  • ぱるまとPolyがA問題の解法を確認した後,Polyが印刷された問題文をもらいに行く.
  • Namazuの写経が終わり,ぱるまに言われるままにA問題を実装開始.
  • Polyが印刷された問題文を手に帰還.PolyがB問題を考察し始める.
  • A問題をAC (7:12).
  • Polyが「自明」と言いつつB問題の解法をNamazu,ぱるまと共有.問題無さそうだったのでNamazuがB問題を続けて実装し,ぱるまとPolyはC問題を考察することに
  • B問題をAC (17:26).
  • ぱるまとPolyのC問題考察がほぼ終了したらしく,ぱるまにC問題の実装を任せてNamazuとPolyがD問題を考察開始.
  • C問題をAC (1:04:53).
  • D問題が分からない.ぱるまも含めて考察をするが,解法が生えない.
  • 残り一時間の時点でPolyが「E問題は実装重いけどやるだけだからやれ」と言ってきたので珈琲飲んで気合いを入れて*1NamazuがE問題実装開始.
  • Namazu,先ほど飲んだ珈琲のせいでトイレに行きたくなりつつE問題を実装するが辛くなってきてギブアップ.
  • Polyが「多分嘘解法だけど一旦Dを実装して」というのでNamazuがDの実装を始める.
  • 実装したDを投げる.当然WA.
  • 絶望感に包まれながら競技終了.Namazuはトイレに行く.

このような感じで大体うまく分担して回せていたと思います.

反省

DのDP解法は頑張って思いつきたかった気がします. 実装したのは左から順番に決めていくみたいな手法だったので,その決め方をもう少し賢く出来れば…

Eは気合いが足りなかったと反省しています.

さいごに

チームで競プロやるのめっちゃ楽しいですね. 今回を持って私はICPCの出場権を失いますが,もっと前からこの楽しさに気づいておけば…なんて思ってしまいます. これからも競プロは続けていくつもりなので,その中でまたチームを組んで出られる機会があれば挑戦したいですね.

以上,ICPC参加記でした.

蛇足

P IS NPチーム名はメンバー三人の頭文字であるP,N,PからP≠NP問題を絡めることとBaba Is Youネタで作りました. 本当はeiyatonariみたいな感じでチームメンバーの名前を上手く組み合わせたかったのですが,私が考えた案が悉くpolyにダメ出しされ,ぱるまも凄く気を遣って無理やりフォロー入れてくれるような感じだったのでボツにしました.

参考文献:ダメ出しに容赦がないPoly

悔しかったので客観的な意見を聞いてみようと思い,(誰の案かは伏せて)不採用になった案でアンケート取ってみました.

それぞれの発案者は以下の通りです.

  • Npp:Poly案
  • ParNaPoly:Namazu
  • PolyNaruma:Namazu

対戦ありがとうございました.

*1:ごちうさ二期第6羽参考