Treeone’s Blog

競技プログラミングの記録など

ACM-ICPC 2018 国内予選 参加記

2018年7月6日(金) に行われた ACM-ICPC 国内予選に参加した.
結果は21位 (大学別9位) で無事国内予選を突破.

国内予選結果 | ACM-ICPC 2018 Asia Yokohama Regional

f:id:treeone:20180715014152p:plain

チーム紹介

今年のチーム名は konjo_jam で,メンバーは Treeone, T1610, 後輩氏.
去年の yellow_jam から先輩が抜けて後輩氏が新たに加わった.


当日まで

今年もチームメンバー全員が集まったのはプロコンサークル内でのチーム決めの時だけ.去年よりもチームの戦力が落ちていて国内予選を突破できるか不安になる.AOJ-ICPC を全然解いていなかった Treeone さんが予選当日までに 100 問くらい埋めていた.えらい.

国内予選当日

[-2:00] 大学の ICPC オンサイト会場に到着.今年は弊学から 4 チーム参加した.

[-0:20] 大雨の影響で T1610 が別のキャンパスから来られなくなり,特別措置を申し込む.

[0:00] 問題文を印刷し,A 問題を後輩氏に任せる.

[0:06] A 問題を AC.後輩氏には C 問題を読んでもらい,Treeone が B 問題に取り掛かる.連鎖消滅パズル並みの虚無.まぁ卓越したコーディングスキルをお持ちなのでね,このくらいは.

[0:11] 大雨による特別措置が認められ,T1610 がリモート参加できることになった.D 問題以降を読んでもらう.

Treeone さんが B 問題をバグらせていてつらそう.後輩氏が C 問題を書けそうなので交代する .
後輩氏もバグらせていてつらそう.何回か PC を交代する.

[0:50] 順位表を見ると B より C の方が解かれていたので,後輩氏の C 問題のコードを読むことにした.計算式が間違っているのを見つけて修正.サンプルが合う.
[1:03] C 問題を AC.

B 問題のバグっている場所を見つけて修正する.サンプルが合う.投げてみる Wrong Answer 悲しいね.
またバグを発見して修正.何故かもう 1WA を叩き出してしまう.
初期化を忘れていた.頭が付いてない.
[1:23] B 問題を AC.

後輩氏から D 問題の概要を聞く.ワクワク枝刈り全探索を実装しようとしていると,T1610 が半分全列挙でできると言うので任せる.
[2:03] D 問題をAC.

D の実装を任せている間に E, F, G を読んでいた.F は幾何で G は構文解析っぽい.人間に解ける問題に見えない.E の浮動小数点数の話は 5 億年ぶりに見た.2 年前期必修のコンピュータアーキテクチャ以来.浮動小数点数の気持ちになると,指数部が変わるときに仮数部の最下位 bit の情報が失われるので,指数部が変わるタイミングを頑張って求める.サンプルが合わないので,気合いでサンプルを合わせる.さすがに合ってる訳ないよな〜と言いながら投げてみる Correct Answer さすが僕.ありがとう,コンピュータアーキテクチャ
[2:39] E 問題を AC.

この時点で 48 位から 17 位に上がる.やっと予選突破を確信できる順位になって安心する.

[3:00] 最終結果は21位.予選突破できるか不安なレベルだったので,個人的にはかなり良い結果.サークルの他のチームは例年以上に冷えていた.弊も 2 チーム通過できるようにならないかなぁ.

反省

途中まで南極並みに冷えていて危ない.一人がリモート参加だったとはいえ,チーム内の連携には課題が残った.つりーわんしゃんが AOJ-ICPC を全然解いていないので,アジア地区までに精進してほしい.

最後に

うしくん焼いて食べるぞ🍴🐮🔥


ICPC 国内予選 2017 参加記

初参加記。チームyellow_jamで http://icpc2017.yamagula.ic.i.u-tokyo.ac.jp に参加しました。

結果

ABCDFを解いて5完で19位。無事、国内予選通過!

f:id:treeone:20170715182639p:plain

チーム紹介

チーム名:yellow_jam
弊学を卒業した偉大な先輩のハンドルネームから

メンバー:強い先輩、強い同期、@treeone79
(名前書いていいか分からないので一応)

当日まで

チーム全員が集まれたのは模擬国内と前日の2回。

同期氏が当日実験で1時間以上遅れそうということで、コンテスト序盤を2人でうまく立ち回る必要があった。

前日に立てた作戦では、僕はまずA問題をやって、その間に先輩がBとCを見て、Cの解法がすぐ思いついたら僕にBを残してくれることになった。

コーチのkonjo氏からは5完目標と言われてたけど、4完できたらいいねーという感じ。

当日

  • -1:30

4限がなかったので15時前には学内オンサイト会場に着いて、ひたすら過去のAB問題の早解きをやっていた。

  • 0:00

問題文を印刷して、僕がAに取りかかる。問題読んですぐに2重ループ回すだけじゃんってなったけど、緊張からか手間取ってしまう。
模擬国内で提出ミスをしたので慎重に提出する。

  • 0:09

A問題をAC。C問題が簡単そうということで、先輩がCをやって僕はBを読む。Bは面倒だけどやるだけっぽい。

  • 0:17

先輩がC問題をAC。Bのコーディングを始める。僕が実装で苦戦してる間に、想定していたよりも早く同期氏が到着して、先輩とDの考察を詰めていた。

  • 0:37

やっとB問題を通す。
先輩がDの実装をしている間に、同期氏と先の問題を読む。
H問題の幾何はINF時間あればできるという気持ちになったけど(それはそう)、国内予選は3時間しかないので切ることにした。

  • 0:52

D問題をAC。4完できてひとまず安心する。この時点で10位とかだったと思う。
EがヤバそうなのでFの考察をする。
同期氏と折り紙をして遊んでいたら、規則性を見つけたので同期氏に説明する。
今日何もコード書いてないじゃんと同期氏を煽って実装を投げる。
途中でバグっていたので全員でコードを読む。
座ってるだけをしている間にEとGを考えるけどよく分からない。

  • 2:40

F問題をAC。この間2時間くらい座っていた。残り20分だけど先輩がEの実装を始める。

  • 3:00

コンテスト終了。5完19位で大学内1位、予選通過できたっぽくて安心。

感想

今まで参加してきたチーム戦の中で一番うまく回っていて良かった。
これ読むと 自分は何も やってない (575) ので、アジア地区予選までには戦力になれるように精進したい。