beet's soil

競プロのことなど

JAG夏合宿2018

参加記書き書き

【Day 1】

そすうささんとラーメンに行こうとしたらTLEしそうになったのでうしくんを食べた

圧倒的判断力のおかげで遅刻せずに済んだ。
迫真アルゴリズムTシャツを着ていったら少しウケた。

PCK予選と被っていたので順位表を不正入手*1して眺めるなどしていた。

〜ここからコンテスト〜

ひっっっっっっっっさしぶりのチーム戦(多分国内予選ぶり)だったのでハチャメチャだった。
とりあえず僕がA、うくさんがB、はじさんがCやってそれから一旦落ち着く作戦を立てた

Aははい FAやったぜ

Bは実装ゲーらしいのではじさんに投げる

Cもはい と思っていたらBに出す(本当にダメ)Cに出すがWA オーバーフローをやめなさい
using Int = long long;して出してもWA 閉区間でいもすするとこわれるのはそれはそう(うくちゃん)
2倍して右側だけ+1するいつものをすると通る 謎にFA

はじさんにPCを渡してDを考える なんか愚直シミュレーションするだけじゃ〜ンという気分になる
Bが終わったので交代する 当然TLEする なんか混乱して30分くらい浪費した
どうしようもなくなったので後半の問題を読む 明らかにGが二進trieやるだけで他はやばそう

Dで回数がN回を超えるやつに気づいて冷える 完全にやる気をなくしてはじさんに投げる
気持ちになりながらGの写経をする 無限にエンバグをした(実装前に方針をきちんと決めましょう)
なんかサンプルを適当に合わせて出すとTLE 直すとMLE うく
Dと交代してデバッグをする つらい 終了時間を30分勘違いしていて焦りまくっていた

Dが通ったので交代する 支配的な部分を半分にできたのでする MLE
キレながら動的に確保するように書き直してもう一回半分にすると通った(は?)
なんかよくわからんけどコンテスト終わってから出しなおしたらそんなことしなくても通った(は?)

〜ここまでコンテスト〜
PCKの凍結スコアボードをみてなるほどねというなど 12のAC出なかったのマジ?

Lucasの定理なんて知らないんですよね 僕の知らない知識ゲーをやめろ
食堂で隣に座ったsigmaさんからもっとひょろいと思ってたと言われ???となった
参考:

AGCに出た 天才なので赤パフォをとった はじさんが冷えていてウケた(ウケない)
Dは団子の復習してたら解けてたかもしれなくて気持ちになった
(市松と+1とLCMまでは思いついていたのに…)

AGC中に飲んだエナドリのせいでなかなか寝付けないなあと思っていたらいつの間にか寝ていた

【Day 2】

天才なので起床をすることができる。



朝ごはんを食べて会場へ
昨日の時点でマウス(というかトラックパッド)がキーボードより前にあるとつらいことがわかっていたがどうしようもないので気持ちになる

〜ここからコンテスト〜
Aよむ 線形連立合同式なのでライブラリを写してもらう AC
(Aを最初にやるべきではなかったけど問題を読む時間は稼げたのでまあ)

B読む 全探索やるだけ AC

C読む はじさんが四角形以外ないというので書くが合わない うくか?

Iが遅延セグ木っぽかったのではじさんに写経してもらう(回収されない伏線)

後半の説明を聞く Dは明らかにやばそう Eはまあ解けそう Fはよくわからん G簡単そう
Hは周期になるでしょとなる(大嘘だった) Jはサンプルを見て常にN+1なのでは?w Kはやばそう

とりあえずCを考えると2倍角の公式でごにょごにょすれば解けることがわかる
がんばってサンプルを合わせると通る

Hはロリハ!wとなったのではじさんにまた写経してもらう
サンプル3があわないので考えると間違っていることがわかる
方針自体はだいたい合っていてロリハをZ-algorithmに書き換えたら通った

Eがめっちゃ解かれていたので考えると0がない場合は0で、等差数列になりそうとなる
うくさんが0 x y x+yのケースがあって0 x y z みたいなケースはないというので証明を考えてもらう
等差数列のケースは明らかに調和級数なのでまあはい 0 x y x+yはbitset並列化と思ったけど制約が5e5で躊躇する
まあbitsetじゃないなら畳み込みしかないんですよね はじさんにNTTを写経してもらう
その間うくさんと一緒に証明を頑張る 結局なんか証明できそう(ふんわり)みたいな気持ちのまま写経が終わる
ノリで実装してサンプルがあったので出す 通ってウケる

コンテスト時間が残り半分を切っていたので落ち着いて解ける問題を探す
Fの方針を聞くとなんか有理数で閉じていそうなことがわかるのでハッシュでしょ!wとなる
はじさんに写経をしてもらってうくさんに直線の交点の立式を投げる

Gが2016タイっぽいことに気付く 写経が終わったので実装を始める なにもわからなくなる

Fの式が立ったので頑張って実装する なんか一発で通ってウケる(5373Byte、本番に書く量ではない)
Submission #3209351 - Japan Alumni Group Summer Camp 2018 Day 2

この時点で5thとかで温まる
GのACがいなかったので捨てる 残っている中で一番解かれているのがJだったので三人で考えたけど時間切れ
(終了2分前くらいにうくさんがアズリムの配信?見始めて治安がうくだった)

〜ここまでコンテスト〜

いつのまにか凍結が溶けていて5th やったぜ narianZつおい(暖色コーダー複数ずるくない?ずるい)

Jの解説を聞いて天才か?となるなどする(遅延セグ木は写経してもらっていたのに…)
Gの証明を聞いて天才か?となるなどする(前半パートが2016 Bangkol Reginal のDなのはあってて悔しい)

Iやばそう このマージ関数非自明すぎるんだよな データ構造オタクとして後でしっかり通したい 

残り一時間でもう一問解けるかがWFに行けるかどうかに効いてきそうでこわい
わりとベストな動きができたとは思う(机の間隔がEPSなのつらかった)

オタクなので部屋に戻ってからは寝ていた(オタクなので)

【Day 3】

わすれた

〜ここからコンテスト〜
A読む これは僕がやるべきではないのではじさんに投げる
BC読む 両方やるだけ 書く Aの方針が降ってきたので書く 全部AC

うくさんが後半を読んですぐに解ける問題はないと言ったのでDをやる
はじさんがprefixで区間にしてsuffixで検索すればいいと言っていてほんまか〜?となる
とりあえずロリハが必須なのはわかったので写経してもらう
なんかいい感じにバケツソートみたいなことをするとできることがわかるので書く AC
なにげにFAでウケる

Jの考察が終わってたので書く AC
Iを見てやるだけと言いながら書くと誤読していたことに気づく 幸い致命的ではなかったので直す AC

うくさんがHはsimplex!wと言っているのでかなしいねとなる
FGKを通したいなあという気分になる

Fの愚直を書いて印刷して眺めていたらはじさんがエスパーを生やす 通ってウケ
Gはなんか三乗なら自明なんですけどね〜〜と言っていたので一つlogに落とす 配列サイズ半分にしていて1WA AC
(このWAがなければペナルティ差でnarianZに勝っていたんですが…)

Kをやる 前半パート(転倒数)は自明で後半パート(辞書順最小)は既出
Swapping Characters | Aizu Online Judge

BITとセグ木で解けるはずなので写経してもらう

ただ後半パートがO(|文字種| * 長さ)だったのでオーダーを落とす旅に出る ご飯を食べようとする
食べながらうくさんの落書きを眺めてたら解法が降ってきてしまい実装をする羽目になる とほほ…
なんかINFと単位元を使いまわしていたせいでバグったけど直して出す AC

Jは不可能なのでEをやろうとする とりあえず幾何ライブラリをはじさんに写経してもらう
なんか考えるとconvexHullTrickみたいなことをする気持ちになる 気合いをするも時間切れ

〜ここまでコンテスト〜

わすれた

【おわりに】

JAGのみなさん、作問者のみなさん、ありがとうございました。
なんかわんちゃんWFいけるんじゃないか説が出てきてモチベがINFになった がんばりたい

*1:去年のものから推測しただけ