CODE THANKS FESTIVAL 2017 参加記
CODE THANKS FESTIVAL 2017 に参加しました。
主催してくださった皆様ありがとうございました。ものすごく楽しかったので参加記を書きます。
https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/936749340441243648https://twitter.com/CodeFestival/status/93674934044124364
本日はCODE THANKS FESTIVAL!参加者の皆さん向けに昼食用意しております。#code_festival
— CODE_FESTIVAL (@CodeFestival) 2017年12月2日
お昼ご飯だわ~い!!
前日
前泊の人々を集めてボドゲをしました。
メンバーは竹雄さんtsutajさんらてあさんフェリンさんこうきさんでした。
各位参加ありがとうございました!
だいぶ楽しかったのですが都心のカラオケは高く財布が四散爆発するところだったので当初の予定と変えて2時間で出ました。
その後ふーらくたるさんと合流、行き場を失い迷える子羊をしたのちファミレスでご飯。次に集まるときはちゃんとコワーキングスペースを借りるなりしますね…。
クソを発揮してしまって全裸で土下座している
— TIke/Ti11192916 (@1119_2916) 2017年12月1日
ボドゲ自体は最高に楽しかったです。次こそギャンブラーギャンブルをやりたい。
これがめっちゃ面白かった https://t.co/RQrYJYhLyq
— TIke/Ti11192916 (@1119_2916) 2017年12月1日
当日
起床AC。ゆりかもめって駅も揺れるんですね、ゆれかもめやが。
道中でらてあさんにtwitterで連絡し、駅で落ち合い会場へ。
— TIke/Ti11192916 (@1119_2916) 2017年12月2日
開場20分前とかだったので会場横のスペースで tourist じゃんけんをしました。
rateじゃんけん…じゃん…けん… pic.twitter.com/kQwQJHjdfO
— TIke/Ti11192916 (@1119_2916) 2017年12月2日
そろそろ怒られそうだよね。
そうこうしていると開場、入場即手続きACからのTシャツゲット!
2枚目のコンテストTシャツ嬉しい!
お弁当を食べながらコンテストの開始を待ちました。
お弁当情報です pic.twitter.com/syqYqg4uD1
— TIke/Ti11192916 (@1119_2916) 2017年12月2日
キーボードを持ってきていたんですが、うるさいキーボードだったため撤去。
周りが自分のことを気にしてないかが気になって集中できない、ってことありませんか?ありますね。
問題
A問題
最大値を求める。すべての要素見ていくのではなく max_element を使うべきだった。
max_element - cpprefjp C++日本語リファレンス
B問題
回文を構築する。先頭から i 文字を反転して連結して回文かどうかを調べた。
string.substr(0, i) と std::reverse() で実装すると早い。
C問題
priority_queue でえいする。こういう問題大好きです。
Typical 貪欲 Contest があったらまず収録されているであろう問題ですね。
この時点で15位とかだったのでテンションが上がる。
D問題
M人乗りのバスにN人ずつ乗ります。
1台のバスに乗るとき余る人の数は N - (M % N) 人になります。
N = N - (M % N) とし、余った人数NをまたM人乗りのバスに乗せていくと、
また N - (M % N) 人余ります。
この操作がなんだかユークリッドの互除法に似てるなぁと思ったので、なんとなくGCDしてみたらAC。エスパー良くないね。
色々考えていたせいで40分もかけてしまった。
E問題
50個のコイン袋を10手で判断すればいいため、1回で5袋を判断できればよいなぁという気持ちになる。
コインが1袋に10000枚入っているので、1枚、10枚、100枚、1000枚、10000枚と取っていくとよいことが分かるが、重さ 8, 9, 10, 11, 12 の5種について
(1×8)+(10×9)+(100×10)+(1000×11)+(10000×12) = 132098
ただし
132098 = (1×8)+(10×9)+(100×0)+(1000×12)+(10000×12)
であるため、1のほうから数を決めていく必要がある。
5進数?か何かでやるとより賢いらしい。
F問題
O(n^2) の自明な DP が生えるが入力が大きい。
しかし不自然な制約のおかげで入力が実は小さい。
細かい計算ができず解法に自信が持てなかったため、あれこれ検証しているうちにコンテスト終了。
パーカーが得られず悲しいね。
mapDP を書いたことがなかったため経験値不足を感じた。
パーカー欲しかったなあwww
— TIke/Ti11192916 (@1119_2916) 2017年12月2日
表彰
5位のふーらくたるさんが表彰されマイクを握ったその刹那──
"何か"が私に語りかけました。
私はその一瞬で読唇術の全てを会得、真空状態の中でふーらくたるさんが
「今まで競技プログラミングをやってきて表彰されたのは初めてなので、とてもうれしいです」
と話しているのが分かりました。
あまりに感動的なコメントに私は滝のように涙を流し、涙は廻り大河を成し大地を潤し大海へと流れ込みそうでしたが耐えました。その反動で私は読唇術の全てを忘れました。
↓真空状態については以下を参照してください。
コネクションハント
懇親会の前にコネクションハントという参加者同士質問をしあって、質問の答えを集める、というイベントがありました。
特に面白い質問も思いつかなかったため、好きなコンテストについて聞いてみました。
結果は以下のようになりました。
- ICPC (7票)
- ARC (6票)
- AGC (5票)
- CODE FESTIVAL (4票)
ICPCが1位なのは意外でしたね…
珍しい回答だと Anarchy Golf, AtCoder の unrated なコンテスト などがありました。
ちょくだいさんにも質問に答えていただきました!
頭が回っていなかったので好きなコンテストはなんですか?やっぱりTCOですか?とちょくだいさんに聞いてしまった
— TIke/Ti11192916 (@1119_2916) 2017年12月2日
当然答えはAtCoderだった
懇親会+宴
いつもの人々と一緒にご飯を食べながら歩き回った結果、念願の大悪魔と会話するという実績を解除することができました。早くこの世界を統べてほしいですね。
どこかで本人の隣でふぁぼ爆をするのが流行っていたようです。
競プロ界隈でふぁぼ爆が流行っているのはなんなんでしょうか…ww
懇親会中、treeoneさんのtwitterの通知がlikedのせいで400以上溜まっていて「おいおいおいおい」って言ってたのが最高に面白かった
— TIke/Ti11192916 (@1119_2916) 2017年12月2日
その後はなんかこのまま帰るのはなぁと思っている人々で集まってボウリングをしたりカラオケをしたりしました。競プロerとボウリングをするのは2回目なのですが、レベルが高くないので安心ですし楽しいです(?)
総括
CODE FESTIVAL は最高なので、出てない人は出ましょう!
来年こそは本選出場&パーカーゲットするぞという思いでいます。精進あるのみだなぁ。
ICPC つくばに参加権がないため、私の今年の競プロオフはこれでおしまいです。
今年の後半だけで50人以上の競プロerとお話しできて、とても仲良くなれた方々もいて私は嬉しいです。
コミュ障を乗り越えて色々な方に話しかけるのと、Twitterでの事前のつながりがやはり大きいですね。
僕とお話ししてくださった全ての方々、ありがとうございます。今後ともよろしくお願いいたします。
今回交流出来なかった方々も、交流出来た方々も、また何かのときに会えるといいな
— TIke/Ti11192916 (@1119_2916) 2017年9月24日
zenaa