ACM-ICPC 2018 Seoul Regional 参加記 (コンテスト)

はじめに

2018年に韓国で行われた ICPC Seoul Regional の参加記です。
自分はチーム Zerokan_Sunshine としてでました。
チームメイトはいつもの kazuma, nakano です。

この記事はコンテストについて書いたものです。

チームの役割分担は以下の通り

  • nakano (考察担当、基本的に実装はしない)
  • kazuma (考察、実装担当、理想は僕と交代交代で書く)
  • suibaka (実装担当、めんどくさいやつとかやるだけとか構文解析とか幾何とか)

ちなみに kazuma 視点の参加記もあります。
ICPC Seoul Regional 2018 参加記 - kazuma8128’s blog

コンテスト

一応コンテストの流れに沿って(覚えてる範囲で)書く。

D 問題

  • PCの設定とかやってたら D がやるだけだと教えられる
  • なんだこの問題はたまげたなあ
  • AC(15分)

虚無

  • いつもならここで次のコーディングにすぐ入るはず…
  • しかし今日は書く問題が降ってこない、完全に異常事態
  • どうもパット見の難易度判定に失敗しまくったらしい
    • D の次 C とか考え始めてたからね、やばいね
  • ここでなんと1時間以上溶けた。

F 問題

  • やることがないのでやるだけの F を書き始める
  • さっさと解くつもりだったがバグる
  • 一番外側にカッコが付いていてはいけないのを完全に忘却していて時間を溶かしてしまう
    • (a + b) とかはだめだったけど OK 判定だった
  • K、L のあとになったけど通す。これは大反省

K 問題

  • 僕が別のやってる間に kazuma にやってもらった
  • nakano から問題概要を聞いた時、脳内で R, G, B の3色があると思って悩んだ
  • nakano が2色だと教えてくれた
  • kazuma も僕と同じく3色だと思っていたらしく、2色なら 2-SAT やるだけやんけ!となり、書いて AC (103min)

L 問題

  • F がなぜか通らない(前述の通り)ので、最悪になる前に L を考える
  • 連続して働く必要のある時間がバラバラだと思っていて、しばらく不可能じゃんとなっていた
  • よく読んだら w は全員固定だった、じゃあ貪欲だねとなる
  • 書いたらなんか RE した。理由は n と m を間違えていた(このミスするの何度目?
  • AC (136min)
  • ちなみに書いてる途中に腹痛がピークを迎えたので、「トイレに行っていい?」と kazuma に聞いたら「ACしたらいいよ」と言われた。鬼か?(まあ当然っちゃ当然ですが

G 問題

  • nakano がずっと式やら図形やらとにらめっこして式を生成していた
  • 生成したのを kazuma になげて書いて AC (172min)
  • 積分せずに楽できるか、みたいな問題だったらしい?しらんけど

A 問題

  • 実は最初からたまに考えていて、簡単に解けるんじゃないの?と思っていた
  • しかし完全に虚無っていたのであまり詰められず、後半まで放置されていた
  • kazuma に投げてしばらくしたら starry sky tree で殴れるね、となりそれで書いてもらうことに
  • なんか細かいミスをしていたらしくWAが生えるが、まあすぐ修正して AC (237min)

B 問題

  • nakano から概要を聞く
  • nakano から解法を聞く
  • 書いて AC (238min)
  • なんでこの問題がここまで放置されていたかと言うと、ここまでなんと誰も読んでいなかった(は???)
  • あと普通に問題文が難しすぎるだろ

E 問題

  • これも最初に考えてはいたんだけど、うーむとなっていた
  • kazuma はなんと max の部分が sum だと思っていたらしい、そりゃ解けんわ(勘違いしているとは思わなかった
  • 解けることはわかっていたが、これに着手したのが最後の20分とかだったので間に合わず…

J 問題

  • nakano に概要を教えてもらう
  • 適当にマージしていったらできるんじゃないの、みたいなふわふわ解法で書き始める
  • 入力を取るのが難しかった(変数の並びが不自然だったような…
  • 書いた、バグバグ
  • バグいっぱい
  • というか解法間違えてない?間違えてるね
  • 終了

C 問題

  • AOJに似たやつがあったけど、あれは並び替え不可能だった
  • どうせいい感じの並びが存在するに決まっていて、という感じだった
  • しかしCの考察にさける時間がほとんどなく、結局よくわからない嘘を書いてサンプルが合わない、みたいなことになっていた気がする

I, H 問題

  • 見るからにヤバイので自然に回避していた、結果的には正しかった

結果

7完 17th でした。大学別では10位という残念な結果に。
UKUNICHIA に負けたのは普通に悔しい。

反省

  • 序盤の動き方が最悪で、ここまでひどいとリカバリー不可能
  • とはいってもこのセットでパット見で難易度推定するのは今の自分達には厳しかったのかなあ
    • 簡単なのは問題文が難しい、読みやすいのは大体そこそこ難しい、みたいな
  • Standings もあんまり活用できなかった、解かれる問題が割とバラバラだったので
  • こういうときは他の人じゃなくて自分たちを信じて、あれこれ行ったり来たりせず解けそうと思った問題にある程度張り付いたほうが良かったのかも?
  • 問題読解が雑すぎた。問題を難しくして解けなくするのは最もやってはいけないこと。
  • 今回は自分はほとんど問題を読まなかったので、多分それも良くない
  • 問題を読むときは Input/Output まできちんと読むべき
  • 問題概要を伝えるときは、聞き手が勝手に脳内補完をしないような伝え方をすべき
  • 逆に問題概要を聞くときは、勝手に脳内補完しないほうがいい

まとめ&感想

今回のセットで10完が当たり前な韓国勢の恐ろしさを感じました。
普通に事故る可能性高いと思うんですが、そうでもないんでしょうか……。
せめて E は通したかったなーという感じです。J は厳しかったかも。
今の実力的には8完で及第点だったのかなと思っています。しかしうまくいかないもんだなあ。
でもいい経験になったと思って、横浜大会ではいい成績を残せるようがんばります。