TTPC2019 オンライン参加記
てんぷらさんとチームpurameriaで出場しました。オンライン参加でしたが、せっかくのチーム戦だったので記事を書こうと思います。
はじまり
アルメリアさんへ
— てんぷら (@tempura_cpp) August 1, 2019
TTPCチーム組みませんか
てんぷら
ご指名いただきました。やったー!
本番まで
特に何もしていなかったのですが、コンテストでてんぷらさんが異常パフォーマンスを出す一方で私は停滞していたので内心(こんなんでチームメイトが務まるのか…)と焦っていました。
有志コンで要求されそうなちょっと強いライブラリをこっそり整えたりしていました。結局使いませんでした。
今日は帰ったらAho-Corasickを書きたい
— アルメリア (@armeria_betrue) August 26, 2019
HL分解とかそろそろ書いておいたほうが良い気がしている
— アルメリア (@armeria_betrue) August 28, 2019
前日
チームアカウントを作ったらてんぷらさんが魔改造しました。
TTPCはこれで出ます!よろしくお願いします! pic.twitter.com/vT7oB7Vno5
— てんぷら (@tempura_cpp) August 30, 2019
コンテスト当日
SlackのDMで相談しながらやりました。1台実装ルールがちょっと難しいかな?と思っていたけど、ちゃんと宣言して書けば意外と困りませんでした。
- A: めり(2:00)
- B: ぷら(4:42)
- C: ぷら(12:39)
- D: めり(22:33)
- E: ぷら(25:51)
までは流れで。私がFを考えててんぷらさんがGを実装し始める…も中々解けない。
Fはこの後しばらく放置されることになります。てんぷらさんがサクっとGを通していました。
- G: ぷら(58:37)
ここで私がIを誤読(戦犯)
さらに誤考察がシンクロしてしまったのでIも放置することに。Mもほぼ解けているんですがしばらく放置されます。
そんなこんなでしばらくACが停滞するんですが、私がFを考えている間にてんぷらさんが上のほうをバシバシ考察していました。
- L: ぷら(122:20)
ここでついにFをAC。結局わりと地道なDPを書きました(これは公式解法が天才)
- F: めり(129:59)
てんぷらさんがOのデバッグ、私は数え上げのJを考える…も糸口が掴めない。てんぷらさんに投げようと思う(正解)
- O: ぷら(169:20)
後回しにしてた実装キュー消化とてんぷらさんの考察により、ここで怒涛のACラッシュ。
- J: ぷら(199:18)
- M: めり(202:49)
- H: ぷら(234:33)
Mはオイラーツアー+区間加算セグメント木でゴリゴリと。Hは終了後に提出を見に行ったら動的セグ木の二分探索で解いていました。
ここで残りは「I - I hate P」「K - サーキュレーション」「N - 瓜二つ」の3問。Iについて私が を思いついたけど、てんぷらさんが を思いついたのでそのまま実装してもらうことに。
しかし制約が厳しい…
てんぷらさんの移動中に私も小手先の改善をやってみたけど、因子 ごとに登場個数を数える方針だったので結局最後に かけて累乗しなきゃいけないんですよね。きびしい。
終了10分前くらいに中国剰余定理というワードが出て、ダメ元で実装RTAしたけど時間切れ。後から考えると、素冪に分解したところで の逆元があるとは限らないから無理でした…
結果
ということで結果は12完の2位でした!
よすぽさんがやばいけど全体2位なので満足、アルメリアさんありがとうございました!!! pic.twitter.com/fkGgmiHdRV
— てんぷら (@tempura_cpp) August 31, 2019
知らない間にてんぷらさんが上のほうをバンバン考察していてビビりました。私の最大の貢献は簡単枠とされている(そして実際かなり通されていた)のに2人とも詰まっていたFを何とか通したことですね。それでいいのか橙コーダー。
私目線での反省はKをちゃんと考察して私が通すか、Hの実装を引き取っててんぷらさんにIを詰めてもらうか、ができればよかったかなと思います。でも1400点はたぶん取れてないでしょう…
私はチーム戦の経験はほとんどない(2回目)のですが、とても楽しかったです。通したり通してもらったりしたときにはいつも以上に嬉しいですね。
褒め合う文化すき pic.twitter.com/TbDGSKqC8Q
— アルメリア (@armeria_betrue) August 31, 2019
5時間15問、耐久レースかと思ったけどあっという間でした。問題も楽しかったです。運営の皆さん、てんぷらさん、ありがとうございました!