いつも頭に問題を

競技プログラミング中心で思ったことを書いてく

JAG夏合宿2017 参加記

参加させていただきました
ICPC国内予選終わったちょっと後くらいにYazaten氏からお誘いいただき参加
こっちはコンテストの事だけ書こうと思ったけどややこしいので時系列順に書きたい事を全部書きます
読みたい部分だけ飛んで読んでみてください

参加まで

精神が弱いため参加申し込みをしたは良いが、実際に行くのが怖かった
交通手段確立も面倒だし荷造も荷物多くなるのも嫌だしうがーって感じですべてを後回しにしていた
Twitterボードゲームをやろうって話してたので初対面の人とでも楽しいであろうゲームをピックしておいた、それだけが楽しみだった
Yazaten氏が連絡をくれてバスを提案し予約してくれた
アイエエエ

day0

荷造りをして不安に駆られながら家を出た、すぐ引き返して上着を着て脱いでカバンに入れて別の上着を着た
意味は無いけどよくわからない
バス停に着いてボーっとしてるとYazaten氏と合流、マスク忘れたなぁみたいなツイートをしたらマスクをくれた
アイエエエ
バスに乗ったけどもう引き返せないとか言ってしまったし重症だと思った

day1

東京着

バスでは寝れるけどすぐ起きるような状態を繰り返していたが、あまり記憶がない
気が付くと東京についていたらしい、降りると新宿だった
自分の事でいっぱいで何も考えてなかったので二人でどうしようか話して、氏が提案してくれたカフェがあく時間までバス待合所で時間を潰すことに
空いてる椅子に座って連続ACのためにスマホコーディングをしていた
解いた問題はこれ
A: Multiple Array - AtCoder Grand Contest 009 | AtCoder
解法はササっと思いつけたのでよかった
実装も簡単目だったけど2回WAのちAC
Submission #1610551 - AtCoder Grand Contest 009 | AtCoder

カフェに向かう途中でメガホンを持って「ギャグあります」と叫び続けている人がいた、芸人か何かっぽい


はい(義務)
カフェではクロワッサンが層を多重になしていておいしかった(?)

目的地が無いのでYazaten氏の勧めでつじ半という海鮮丼の店に並ぶ
開店1時間前とかから人がいっぱい並んできてすごくすごかった(?)
f:id:ratetion:20170925221558j:plain
とてもおいしかった(KONAMI
後で鯛だしを入れてもらえ、そこに刺身をつけて食べるというのがお勧めらしく、これがとてもよかった、よい、よい

snukeさんの問題セット

受付でしょラー氏に"""初めまして"""と挨拶をしていただきました
JAGセットだけチームで参加することにしていたので、イイ感じに実力順でチームを組んでもらい、白瀬氏と百千万億 萬氏のチームに入れてもらった
Japan Alumni Group Summer Camp 2017 Day 1 - AtCoder

始まったら僕はA、白瀬氏がB、萬氏が全体を読んで司令塔的に動いてくれて凄かった
Aは一見簡単そうだけど解ける自信がないため概要を聞いてもらったら、Jが簡単らしいので実装を請け負った
緊張して変なコードを生産してしまったがなんとかAC

Hの詳細を聞き考察をした
各8方向への移動をし続けるときにそれぞれ何ステップかかるかを考えて表にまとめておいた
右上に進むときだけ有利になって他は上下と斜めで変化がないことが分かった
後は最初動き出すときだけはどの方向も未使用なのでステップ数が減る

これを伝えるともっとうまく分類出来て楽に実装できそうとの事
表だけパスしてAの考察に戻る

ここら辺で萬氏がEのFAを取ったらしい、すごい

1文字目を使用しきるまでは1-2-1-2-1-2-.....とループするはずなのはわかったが、2文字目は2文字だけで回しきれるのか証明が出来なかった
サンプルも微妙に検証しずらいが、どうも各文字数ごとで回せていそうと言う事に落ち着いた
実装が固まりそうとの事で白瀬氏に実装を頼んでKの考察をした

KはbitDPをしたいと思ったけど実装したことないのでわからず、10^5は持てないと言われた
だとすると貪欲がしたくなるのだが、ほんまか?
考えても貪欲をやっていいようには見えなかった

A実装が辛そうだったのと、まだマシな実装を思いついたので実装を代わる
実装を終えてサンプルがあったので提出すると4WA
変なことしちゃったかなーと思ったので印刷を投げてPCを代わった

デバッグをしていると萬氏によりD,Fが解かれていた、っょぃ

自分のソースで怪しいポイントを数か所見つけ(多い)修正すると1WA、うーん
まさかこの1WAが2文字と3文字の間のコーナーケースなんじゃないかと思って証明できないか考え始めた
白瀬氏と色々検証してみたがどうもわからない
この時グラフに落とし込むとかそういう発想が出来るとよかったんだろうなぁ
萬氏が僕のソースにオーバーフローを見つけて修正提出、AC
机に頭を付け謝罪した、頭の悪いコードだった

白瀬氏がKを実装していたがサンプルが合わず終了
チームとしては5完だったが僕はほぼ邪魔になってしまった

部屋の端でゆらふな氏とimulan氏、yana氏が喋ってたので合流して晩御飯を食べに行った
ご飯の席でixmel氏とT.M氏と合流して挨拶してクソトークを展開するなどした
YazatenjouエピソードでYazaten氏のいないところで盛り上がった
ratea.hatenablog.com

その後すぬけ大先生の圧倒的解説
なんとなくわからないけど解けそうみたいな問題をズバズバ説明されてすごかった
楽しそうに解説していて楽しかった

解説後aotenjouのみなさんに"勇気を出して"挨拶しに行った
TIke氏とボドゲの約束をしていたので風呂入ってすぐやることにして、Treeone氏にも挨拶して巻き込む(?)

ボードゲーム

談話室にボードゲームを持って向かった
持ってきたゲームは3種類

クー 日本語版


コードネーム 日本語版


犯人は踊る(2015年第三版)

クーをaotenjou+treeone氏+談話室で合流したフェリン氏とやった
ちょうど6人で出来るので都合がよかった
概要は先にTIke氏が書いてくれたのでそっちもぜひ読んで(誘導)
ti11192916.hatenablog.com
読みとか駆け引きが強いゲームなのでお互いのことをよく知る前に殴り合おうという提案を受けてこれを選んだが大成功だと思った
ルール説明をしているとみんな「こうなったときはどうするの?」って僕が言い忘れたルール突っ込んでくれて説明しやすく、なめらかにゲームに入ることができた
戦略とかの理解も早くてみんな強い、普通に負けました


やってる間にDiv氏とimulan氏がやってきたので8人になり、みんなでできるコードネームを選んだ
スパイマスターはminami氏とTIkeが担当、序盤は難しそうでお互い攻めあぐねてたが、後半かなりうまい誘導をしていていい勝負だった

12時までしかスペースが使えないので急いで片付けて解散した、またやりてえなあ!
フェリン氏も2作持ってきてくれてたのでせっかくならそっちもやりたかった
続きはwebで

day2

起床ACして昨日のボードゲームメンバーのうち起きてそうな人で集まって朝食へ向かった
メロンソーダが好きなのでメロンソーダを堪能していた
ご飯とパンをもらうスペースが別なので両方もらってしまいお腹 Limit Exceededしている人がいた

こどふぉセット

Login - Codeforces
どふぉどふぉ
チームは前日と同じようにマッチングしてもらってokaduki氏とyang33氏とチームrateduki33で出ました
fakse_rateというチーム名案も出て面白かった

前と後ろと中間から読み始めることになったので僕は前から読んだ
A問題はニュアンスがわからず円なのか球なのかのある地点で円形の邪魔な何かがあってそれを避けて通る
数学のプロがいれば投げても?って感じだったけど自信が無いのでyang33氏に聞いてもらう
入力を見る限り球らしい、そういう判定方法があったか
飛ばしましょうと言われたのでBを読む
これも自信が無くて英語力の低さを実感した
okaduki氏がヘルプに入ってくれてそのまま二人で考察、DPで解けそうと結論を出してくれたのですが、簡単なDPしか書いた事が無かったので実装を断ってしまった、ごめんなさい

Hが多く解かれているので読むも、また意味が分からない
端っこまで飛べるものだと勘違いして迷宮入りしていた

Lが通ったらしく、Gを通そうとしていたみたいで考察を聞いた
三分探索をイイ感じにやる方針で実装していたみたいで、解けそうだと思った
WAが出て考え直したら2次関数チックにはならないことが分かってしゃくとりっぽくやるのではと思っていたら二人の間で考察が進んでてついていけなくなってしまった
アッパーバウンドとか聞いたことある何かを使ってACしていた

その後okaduki氏がBを実装、yang33氏とHとIを考察
Hは誤読していたままだったので、誤読が正しいと仮定して僕が実装することに
Iは入力から計算できないケースは無いのか、答えが一意に定まるかどうか色々考えて証明しようとしていたが出来ず

okaduki氏が紙デバッグに移ってくれたのでHを実装、もちろんWAだった
出来る事が無くなってしまったのでokaduki氏を見守っていたらタイムアップ

とても辛かった、英語で損こうむるのはもったいないなぁと思った
またDPを自信をもって実装できるようにならないといけないと実感した

ボードゲーム

前日と別の談話コーナーでボーっとしていたらすぬけ大先生がボードゲームを一緒にしてくれた
枝豆を押し付けあうゲームだった、いいセンスだった
とんでもない運を発揮してワンターンで勝ってしまった
またじっくりやりたいと思ったし機会があってくれ
最後のボードゲームのタイトルを聞いた

万豚記

Yazaten氏ゆらふな氏nvip氏btk氏でオリセン前のラーメン屋に行った


角煮担々麺をチョイスした、角煮がごつくて顎が疲れたがとてもおいしかった
nvip氏とYazaten氏がそれぞれ別の辛いラーメンを頼んでいたのでスープをちょっとずつもらったらその後1時間くらい泣きそうだった

こどふぇす

JAGの方がWi-Fiを提供してくれたので談話室で参加した
ABを10分で解いてCを無限にWAを出して2完で終わってしまった
終わった後いつもTLでやってるようなことが目の前で起きてて面白かった
ixmel氏がDまで通してキメててかっこいいと思ってたら僕のコードを観てくれて指摘してくれたりした
僕はちゃんと証明とかせず見切りでやってたのがよくわかって情けないと思った


悔しくて部屋に戻ってもなかなか寝れず、問題を開いて考えながら寝た

day3

起床AC
部屋の掃除とシーツをたたんで着替えて準備して談話室でボーっとしてたら自チームとaotenjouとQU勢とフェリン氏が来たのでみんなで朝食にした
前日のおかげか腹LEしていなかった
minami氏とYazaten氏がプロな話題(?)で盛り上がってたのが印象的だった

JAGセット

Japan Alumni Group Summer Camp 2017 Day 3 - Japan Alumni Group Summer Camp 2017 Day 3 | AtCoder
Yazaten氏とゆらふな氏とsparsely_populated_regionsで出た
簡単そうなものを見つけて解く方針になった
始まったら僕はどれが簡単かわからなそうだったのでYazaten氏に聞いてEとCとあたりを読んでた
ゆらふな氏がABを通していた、早い
Cが解けそうだったので方針を聞いてもらうと、実装が辛そうなのでYazaten氏が請け負ってくれた

ゆらふな氏とFを考察した
僕がちゃんと読めてないせいで問題の把握が遅くなった
ずっと英語に苦しんでいるなコイツ
二部グラフの話を聞いてどうもそれは成り立ちそうだと分かった
BFSをしたい気持ちになったので、できそうか考えて、思ったことを言ってたら大体を証明して解法にしてくれてた
声が大きく目立ってたらしい、終了後にT.M氏から楽しそうでしたね、とのこと
二部グラフマン

Yazaten氏がバグらせていたのでゆらふな氏に説明したら、僕が考えたのよりずっと簡単な解放が出たのでそれで実装し直してもらう
とても申し訳ない気持ちなった

Fをゆらふな氏が実装に入ってくれたのでE考察に入った
×を限定してうまいことやるとか、×を貪欲にやるとか考えたけどどうもダメだった

FがACしたらしい、ほぼゆらふな氏のおかげだったが、一部解法に関われた感があって嬉しかった
全員でEを考察、どうも僕にはわからなさそうだという事が分かった(いいえ)
DPにうまい応用方法があるなんて知らなかったよ
二人にゆだねお茶くみ係をしていました(いいえ)

結果は4完で、もしYazatenjouだったら悲惨だったねなど話していた

解説を真面目に聞いていたら、後半は全くわからなかったがコーディングしてる人とかが多くて解説してくれてる人が僕のほう観てたまに「どうすか?」みたいなこと言ってくれてツライだね

築地

JAGの合宿自体は解説後解散したので、チームで築地に寿司を食べることにした
駅までixmel氏もと一緒に行っていたので、そこで次はKUPCですねみたいな話をして電車ですぐに登録をしておいた
楽しみである

築地に着くとYazaten氏の一押しのお店へ
店長のお勧めが時間差で握ってもらえて一貫ずつ目の前に置かれていく
毎回それが何の魚なのか貝なのかどんなものなのか説明までしてくれる
兎に角うにと大トロがおいしかった
犯罪的だった


銭湯

ゆらふな氏と別れYazaten氏と二人で銭湯に行くことにした
乗り間違えたりして紆余曲折の末、昭和風味が漂う素敵な銭湯へたどり着いた


体を洗って湯船につかろうとすると、、、熱い
50度はあるんじゃないかってレベルで熱い、嘘だろ、、、
火傷してるんじゃないかと思った
湯が出ているところから一番遠いところに何とか浸かれた、それでも熱すぎる
横で体洗ってたおっちゃんに笑われて、東京は江戸っ子精神がどうので、風呂は熱いもんなんだと聞かされた
軽くこちらの事も話したりして観光の情報とか色々勧めてくれて面白いおっちゃんだった、あったけぇ、風呂は熱い
足は真っ赤で水をかぶり続ける妖怪か何かになっていた

やざてんコンビニゲーム!!!


帰りのバスまで暇だったので勢いで(疲れで変なテンションになっている)開催した
大当たりは醤油、桃の缶詰、ビール、クリスタルカイザー



これ美味しそうですよね、今度個人的に買う

バスに乗ってぐっすり寝ながら帰りました

まとめ

鬱だったけど参加してよかった、似たような人がいたらぜひ参加して欲しい
課題がいっぱい見つかった
強い人と組むと地蔵になるけど出来ることを精一杯やった
楽しかった
JAGスタッフの皆さんありがとうございました
アジア地区に向けて、来年こどふぇすワンチャンに向けて、とにかく悔しくなくなるように等々
出来ることを頑張りたいと思いました
雑な記事になりましたが、いつも通りなので良しとします