CODE FESTIVAL 2018 参加記

CODE FESTIVAL2018に参加したのでスマホコーディングについて書きました。

 

本選

案の定ホテルで二度寝をするなどしていたら到着がかなりギリギリになって焦る。

とりあえずAを投げたあとBもまぁ式はすぐに書けるので適当を投げる。

確認したらAがMLE、BがWAだったので絶望する。

Aのlong long をintに直したら通る。

Bをちょっと書き直したけど通らないのでやめてCに行く。

CはCHTのCなのでCHTを貼るだけをすると通る(ごめんなさい)。

順位表をみるとEが異常に解かれていたのでEに行く。EはsEgmEnt trEEのEなので貼ると通る。根拠はこの速度で解かれるならこれくらいしかなさそうなこと、正当性はACすることから分かります。

D、最初普通に略称になる回数が1番多い文字列(同じ文字列内で何回数えてもいい)だと誤読して真ん中で場合分けするいつものじゃんをやると当然嘘。各文字列内では1回しか足しちゃダメなことに気づいてboolにし直したりmapで管理したりをするとTLE。冷静になるとpair<int,int>で(ある文字列の個数、最後に足したindex)をするとO(1)で管理できることに気づくので直してAC。パーカーを獲得して安堵。

Fが全然解かれていないのでGに行く。3乗のDPはわりとすぐに生えるので必死に高速化を考えながら式を眺めるとCHTですねとなるけど一生バグる(ちなみに枝刈りのほうには気づかなかった)。なんとか直してAC。

順位表を見ると賞金を得るにはFが必要だったので考えるけど何もわからなくてタイムアップ。

結局2400点で31位。賞金圏内とは点差だけ見ると300点なのでちょっと悔しい結果。

 

チームリレー

僕は最初Gが回ってきたけど完全に無理なやつだったのでHを強奪して考察をする。意気揚々と書きに行くとサンプルがあわなくてデバッグしたらmod逆元がバグっていてはいとなる。残り15分くらいで出したコードがWAするけど何でかわからなくてそのまま終わり。IHさんが終了30秒前ACを決めてかっこいいなぁとなる。

ところでバグはkとすべきところをn-kにしていたからで、終わって3分くらいしてから気づいて投げると通ったので本当にごめんなさいとなる。通セてれば肉だったらしい。DPとかの遷移はあっていて最後の締めの足すだけのところで間違えていたので誰も気づけなかったというやつなんですが、こういう詰めの甘さが本当に嫌になって自己嫌悪で死んでた。

 

懇親会

お昼のフリータイムもそうだけど意外と認知されていてびっくりする。だいたいスマホコーディングの人という認識だった。今はもうほとんどやっていませんが、当時の環境とかを聞かれたのでいくつか答えると

 

エディタ...AtCoderコードテスト

コンパイル...AtCoderコードテスト

デバッグ...AtCoderコードテスト画面でprintfデバッグ

キーボード...普通にスマホの英字キーボードでフリック入力を頑張る。

ライブラリ...なし。必要になったらAtCoder Problemsで過去の自分の解いた問題を漁って見つける。

辞書登録...特にしていないけど予測変換で勝手に出てくる(例えばrと打つと第一候補がrep(i,n)で第二候補がreturn になってる)

つらいこと...AtCoderのコードテストは有能エディタなので中括弧はちゃんと自動インデントされるから意外と快適。だけど[を開いた状態でうっかり改行をしてしまうと自動インデントがバグってスペースが20個くらい挿入されるので死ぬ。

スマホでの成績...最近だとABConlyはスマホでも30分くらいで全完できる。ARCとAGCでは橙パフォまでは1回ずつ出しているはず。

今後スマホでコーディングする予定...二度とやるかバカ。と言いたいんですがたぶんDDCC予選はスマホで出ます。落ちたら笑ってください。

 

こんな感じです(他に気になる点があるとリプなりコメントなりをいただけると追記します)。縛りプレイをしたくなったらやってみるといいと思います。

なんか何の記事かわからなくなりましたがいろんな方と喋れて楽しかった。同じ大学の人と初対面を果たすなどした。大学でやれ。

 

感想とか

パーカーとタンブラーを獲得できたり会いたかった競プロerにお会いできたので最低限のToDoは果たせたはず。初参加だったけど超楽しめた。

ただ本選もリレーもわりと後悔を残してしまったので来年必ずリベンジをしにきます。特にリレーの2byteは絶対取り返してやる。食べ物の恨みはでかい。

しかしもう少し早く競技プログラミングを始めていたかったなぁ。。。