RUPC2015 day1 & day2 参加記

day1

南草津から立命館大学に向かうバスの中に、@zxcv_13kさんがいたらしいが、あまりの人の多さに特定でず。到着してバスから降りても、面識がないので誰かわからない。会場に到着して、アイコンの書いてある名札を選ぶ段階になってようやく、お互いに特定する。

開始時刻になる。

自己紹介タイム。飛ばされる。

チーム編成タイム。事前に@zxcv_13kさんと@pappagukunさんの三人でチームを組もうという話を指定たので、高みの見物。Div2とDiv1に分けられていた。

外にはお菓子が大量においてあって、あとはKLabと書かれた謎のエナジードリンクが大量にあった。中身はRedbullだった。

ネットーワークにつながらなくてChromeのゲームで遊んだりする。

チーム名は、ちょうどChromeのゲームで遊んでいたので、その下に書いてある ERR_INTERNET_DISCONNECTED にすることになったが、AOJに username is too longと怒られたのでtoo_Longに決定した。

コンテスト開始。

Aを私が書く。適当に提出。WA

誤差死を疑っていろいろ試しているうちにWAがかさむ。気がついたら3WA。印刷にまわす。

その間にBの解放が固まっていたらしいので、@zxcv_13kさんに任せる。そして@pappagukunさんと二人でAのバグを探す。

B問題でWAが出たらしく、@zxcv_13kさんと@pappagukunさんがデバッグ

WAが大量に出る。コードを除くと、累積和がバグっていた。サンプルが通ってしまうのでたちが悪い。

B AC この時点ですでに半分程度時間が経過していて焦る。

記憶が曖昧だが、どうやらBを頑張っている間にCを書いていたらしく、とりあえず提出する => AC

A問題。連続した記録のうち、同じ選手の記録をパスとして扱っていることが判明。=> AC

とりあえず3完できたことに安堵しつつ、D問題。

分からない。DPっぽい。悩む。終了。

D問題は解けるべき問題だった。他の問題も、全員チーム戦に慣れていなくて段取り悪すぎた。

お菓子を食べてから帰宅。

day2

バスで@zxcv_13kさんと出会う。

集合時刻ぎりぎりのバスに乗ったはずなのに、会場につくと、空席が半分ほど。

予定されていたリクルートの宣伝が解説後に変更になる。暇なので久しぶりに艦これをしていると、@pappagukunさんに「艦これってどんなゲーム何ですか」などと哲学的な問を投げかけられて狼狽する。

チーム編成。せっかくなので、今日は違う人とチームを組もうということに。

Div2、Div1内でチームが作られる。

Div2、そもそもレーティングなしの人が多い。灰 or 白の人の名札を集めて、緑の人が二枚引く仕組み。@zxcv_13kさんと@odan3240さんの名札を引いたが、2日連続なので、隣にいた@bn_naoyukiさんとスワップ

コンテスト開始。

Aを@bn_naoyukiさんが、Bを私が、Cを@odan3240さんが読む。B、やるだけ。余裕宣言をしてコーディング。

絶望的にバグる。サンプル通るがRE。印刷に回す。

Aを@bn_naoyukiさんが書く。Bのミスはすぐに見つかったので、二人でCを考える。一次元数直線。ワープ。DPっぽい。

A問題。サンプルが通らない。印刷。

Bを書く。 => AC

C、@odan3240さんがDP解を書く。 => WA

@bn_naoyukiさんが苦戦しているようなので、解説を入れる。

@bn_naoyukiさんに見られながらAを書く。 => WA

0から始まっている領域の扱いがバグっている。修正。 => WA

焦る。全部の領域が塗られている時にバグ。特別扱いにして別途出力。 => AC

D問題はこれまでの細切れの時間で解放がわかっていたので、面倒な関数だけ作って後を@bn_naoyukiさんに任せる。

Cを考える。分からない。時々Eを考えたりしてた。

D問題。解放が伝わっていなかったみたい。三人で一緒に解く。書いたのは@bn_naoyukiさん。

サンプルが通らない。印刷に回す。

C問題。幅優先でいけるんじゃねって@odan3240さんが主張。なんかそんな気がするので任せた。

到達したかどうかをboolで管理していたので、最初に到達した時が最小コストとは限らないことを主張。bool管理を最小コストで管理するようにして、更新が発生したらキューに入れる。

提出。=> TLE

なんかDijkstraっぽいねって話になる。Dijkstraだということに気がつく。修正して提出。 => AC

(注釈:そもそもDPだと思い込んでいたのが過ちだった。最短コストを求めるという時点でDijkstraの可能性は考えるべきだった)

D問題の修正。わからない。特にバグはなさそう。

なぜかほんの少しだけ小さい。謎。

いろいろ試して、バグがない場所を特定してゆく。と、バグが見つかる。

バグってるのはわかるがなぜそうなるのかわからないが、いろいろ考えていると1年1月0日からの日数がオーバーフローしていることに気がつく(1年1月0日からの日数を7で剰余をとって曜日を判定していた)。

@odan3240さんがよくわからない手法で解決。 => AC

終わってみると@reew2nくんが一人だけKを解いていてプロだった。