いつも頭に問題を

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

Mujin Programming Challenge 2018 感想

出ました
遅刻した
AtCoderからの”翌日のABC”の告知メールで気付いた

A問題

適当にやるだけ
ペナルティが無いと思って適当に書いて出した
長さが5未満の場合のケアをしてなかったけど通ってて笑う

B問題

適当にやりすぎてWAを量産した
最後に0人になると思ってたりとか
ペナルティないと思って、、、

C問題

ロボットの動きを考えると曲がる点が必ず存在するのでそのような点を全探索する
各点から4方向に進める長さを数えて掛け算
単純にこれをやったらTLEした(計算量見積もれや)
先に各マスに上下左右いくつ進めるかメモしておけばいいやんけってなったので雑にはい

D問題

意味不明
何かパターンがあるのかmodとか利用するのか何か色々模索してた
100ループくらいして0にならない物を列挙してみてその変化の仕方をしたら数ループで同じものに帰ってくるんじゃねえのって思ったけど解けず
解説見ても意味不明なのでそのうち解きなおします

AtCoder Regular Contest 097 D - Equals

問題

D - Equals

考察

入れ替える操作を何回やってもいいらしい
何回やってもいいってことは入れ替え出来る奴らは好きなところにおける
入れ替え可能なところに辺を貼るグラフを描けばわかりやすいけど,辺が貼られてるところ全部自由に交換できるみたいな感じ
数字全部検証する必要がある
UF木貼るだけ

"github beet library"
検索した
library/unionfindtree.cpp at master · beet-aizu/library · GitHub

さすがbeet大先生

AC
Submission #2939193 - AtCoder Beginner Contest 097

AtCoder Grand Contest 002 C - Knot Puzzle

解法

Lより長い場所を1つ確保すると,他は端から1区間ずる切り落としていけばいいことがわかる
連続したロープ2本分のmaxを取ってそれがLより小さければinpossible
L以上ならpossibleでその2本以外の両端から順番に切り落としていけばいい
計算量もO(N)それはそう

Submission #2905875 - AtCoder Grand Contest 002

AtCoder Grand Contest 001 D - Arrays and Palindrome

考察

回文で同じ文字で無いといけない部分に辺を張ると全部に辺が張れればいいとわかる
UF木を考えたけどaの並べ方の列挙とかが必要で間に合う気がしない
なにかこれができれば解けるってパターンがあると思った
もしくは絶対ダメなパターンを見つければいいと思ったのでサンプルを眺める
諦めて解説を読む

解法

http://agc001.contest.atcoder.jp/data/agc/001/editorial.pdf
n点に対して最低でも辺の個数がn-1個無いと達成不可能であることがわかる
回文の性質から奇数長の回文1個につき張れる辺が1本減る
aの数列が全部偶数の場合,aの数列において張れる辺はN/2本
bもN/2本張れるようにすれば,aに含んで良い奇数長の文字列が2個以内だとわかる
あとは解説の図みたいな感じで繋いでいけばいい

Submission #2904435 - AtCoder Grand Contest 001

AtCoder Grand Contest 001 C - Shorten Diameter

解法

木の直径の性質を考えると,どの点からの距離も直径をkとするとのk/2になる点があるような気持ちになる(厳密ではない)
厳密には直径が偶数の場合は全ての点からの距離がk/2以下になる点が
奇数の場合は(k-1)/2になる”辺”が
それぞれ存在する
そのような点または辺を探してそれぞれk/2,(k-1)/2を超える点の数を数えればいい
点または辺は全探索しても間に合うのでO(n^2)で通る

Submission #2904096 - AtCoder Grand Contest 001

AtCoder Grand Contest 001 B - Mysterious Light

解法

正三角形に入った光が2回反射した後の形を考えると平行四辺形になる
また反射2回分の光の長さはNになる
f:id:ratetion:20180725205352p:plain
後はその中で何が起こるかを考える
ここからも2回ずつ反射が起こった時の動きを考える
残った平行四辺形の辺をa,b(a < b)とすると,2回反射後の平行四辺形はa,b-2aになり,光の長さは2aになる
これをa=bになるまで求め最後に1回分のaを足せば答えになる
計算量はO(N)で,これで部分点が得られる
Submission #2903541 - AtCoder Grand Contest 001

2回反射後の平行四辺形においてabの大小関係が変わらない限り同じ計算が続くことに着目すると計算量が減らせる
計算量がO(logN)で満点が得られる
Submission #2903572 - AtCoder Grand Contest 001

そのまま書いたのでswap部分は許して

gcdと同じことが起きてるらしいがその感覚はまだ養えてない感じがした

夏休みと言えばやる事が無いので競技プログラミングの始め方を話す

こんにちは、らてあです
最近はこどふぉが楽しいけど思うようにレートが伸びない日々を過ごしています

夏と言えば

BBQ
祭り
花火

そんなこんなで新生活が始まってから半年という人も多いと思います
周りの人間に
競技プログラミングやってみようよ」
と言うと9割5分7厘の確率で
「敷居が高い」
と言われる
この場合の”敷居が高い”はおそらく誤用であるとされる
そんな日本語さえも満足に使いこなせない奴にもお勧めできる
何故なら日本語が扱えなくても競技プログラミングは楽しめるのだ

という事で競技プログラミングの始め方を解説します
今回はICPCに焦点を当てて説明します、異論は認めません
今からICPCに向けて頑張ればアジア地区進出は見える範囲だと思います

第1ステップ:PCオタクと友達になる

「いやだよ」って思うかもしれません

特に僕のようなコミュ障アスペガイジには難易度が高い

ICPCは3人1チームで参加する必要があります
サークルなどが学内にあればチャンスがありますが、メンバーが集まらずに終わる人も少なくありません
まずはPCオタクっぽい人間を見つけましょう

しかしここでPCオタクをどうやって見つけるかという問題があります
安心してください、Google先生に聞いたところ如何にもな画像を見つけました
f:id:ratetion:20180721151044j:plain

ザッカーバーグです
一般的なイメージのオタクと違ってPCオタクは無駄にスマートさがあります
PCオタクは基本的に彼のような顔に近似していきます
彼のような人間を見つけたらとりあえず声を掛けましょう

第2ステップ:競技プログラミングに引き込む

非常に簡単です
相手はPCオタクなので必ず寿司が好きです
f:id:ratetion:20180721151237j:plain

寿司が嫌いなPCオタクなどいません
競技プログラミングのイベントでは基本的に寿司が振舞われるか否かで成功か否かが決まります
のちに良かったと言われるイベントでは必ず寿司が振舞われます、ICPCも例外ではありません

寿司が食べれることが分かったPCオタクは協力的になるに違いありません
寿司をモチベに精進をしてくれることでしょう

第3ステップ:環境を整える

これはPCオタクに頼みましょう
偉そうに早口で解説してくれるので従えば環境が構築されます
お勧めの言語はC++C++C++です

プログラミングが出来るようになったら「AOJ-ICPC」で検索をしましょう
で出来たサイトに載っている問題を上から順番に解いていきます
競技プログラミングに必要なのは根気と体力、そして筋肉です
問題を読む、考える、実装する、この力こそがすべてと言っても過言ではないでしょう
どれだけ問題と向き合えるかで勝負が決まります


第4ステップ:精進を続ける

後はICPC国内予選に向けてひたすら問題を解きましょう
発見したチームメンバーと協力し、励ましあう事できっとアジア地区進出できる力がついていることでしょう
ここまでで立派な競技プログラマーが誕生しました、おめでとうございます

これであなたの”夏”は終了です
地獄へようこそ

競技プログラミングがわかってくると色々な欲求が出てくると思います

「あのアルゴリズムを使ってみたい」→使えばいいんです

「もっと解きたい」→解けばいいんです

「もっと解けるようになりたい」 →練習すればいいんです

「女の子とエッチしたい」→これは無理です

「大会とかに出てみたい」→出ればいいんです

「射精したい」→出せばいいんです。

最後に

競技プログラミング始めようぜ

正直すまんかった

競技プログラミング初心者のICPCの思い出

最近、Yazaten氏が発端となって学内で週1回競技プログラミング勉強会をしています
そこで昨日解いてた問題の考察ノートをYazaten氏に見せたところ、解法の導出過程か考察過程かあたりに関して不思議だよねって話をされました
そこに関してなんだか書いておきたいなぁとぼんやり思ったのでこんな感じのタイトルの記事を書きます

以前半年が経ったとかICPCアジア参加記とかで経緯とか多分書いたんですが、ICPCでチームを組まないかと誘ってもらった時は僕は競技プログラミングに関して完全に初心者でした
コンテストに3回出た程度、右も左もわからん雑魚です、C言語使ってました
その後まあある程度問題解いたりアルゴリズム聞いたり蟻本めくったりしてるうちに、少しは競技プログラミングはこういう知識が必要とか、全体像が見えてきた感じがありました
国内予選に出た時は確か緑とかで停滞していた気がします、A問題解いて後半の問題読んで合流してくれたメンバーに説明する程度の役割をしました

その後はアジア地区に向けてチーム練習を週1回やっていました
チーム練習をやっていくうちに自分の役割が無いな~って思いました
そりゃそうで、チームメンバー2人とレートが1000近く離れていて、特に僕が得意な部分や突出した技能もないからです
出来ることと言えば、簡単な問題の解法とコーディング、後半の問題の読解と説明
前者は結構バグらせたし、後者は伝達ミスとか一杯やってたし、出来てるとも言えなかった

まあこんな状況で何かできないかなーとか思ってたわけですが、まあ今からアルゴリズム叩き込んでもあんまり戦え無さそうだし実装力もなぁって感じだったので、考察力とかでなんとか補えないかとか考えてました
根気よく問題読んで、サンプル図示して、出来るなら追加サンプル作って、とにかく問題文から得られる情報を全て並べて、わかることを探すみたいな感じの事をやってました
過去問とか開いて考察して実装せず解説読むとかやって結構問題潰したりもしました
上手くいくときもあるけどまあ大体徒労に終わったり、描かずともわかったでしょそれみたいなことが多かったりしましたが、多少は考察力が付いたかもしれないなあって程度です
まあたまに図示したサンプルが役にたった事もありました
後伝達ミスとかを無くすこととか、わかりやすく簡潔に伝える事とか、そういう部分に力を入れてもいいかなと思って意識的にやったり、問題文を人に伝えるつもりで読んだりしてました

わかりにくいのでまとめると
考察力を上げようとした
サンプルを図示して問題文から得られる情報をなるべく集めた
伝達力を上げようとした

くらいであまりなんかたいそうな事はやってない気がします
新入生も入学してこれからICPCを目指すって人も結構いると思うので、まあそういう活躍の仕方もありえなくはないよって程度の話が伝わればいいかなって思いました
余りに極端な気もしますけどね

RUPC2018参加記

どうもーらてあでーす
今回もね、ほっこりワクワク参加記のコーナーをやっていこうと思います
僕は親切なので目次を用意しました、読みたいところだけどうぞ、ね

参加まで

なんかTLで合宿の話が流れ出したし、実家から近いのでとりあえずレジった
後でキャンセルしとけばいいやみたいな感じ、レジって良かった

Ti11192916君が宿に悩んでたので泊まってけよって感じで実家に泊めることになった、楽しいからね

day1

ボードゲーム

夜行バス勢が早朝に滋賀に放り出されて地獄を見ているようだったので(いいえ)
ボードゲームをやるようだったので凸った
駅での合流が下手糞すぎて駅の周りを散歩して「どこですか~?」って聞いたら改札前にいるって言われた
さっき通ったのにおかしいなあって思いながら歩いてたら普通に合流できたし座標がバグってたんだと思う
ti11192916,フェリン氏,つたJ,TABきゅんです

フェリン氏の華麗なナビゲーションでカラオケに到着


みんなボドゲ好きだよね
戦績はギャンブラーギャンブル1戦1勝
赤ずきんは眠らない2戦1勝
ボドゲがうますぎる

2時間くらいやってました、トイレはここで2回行きました

会場

スーパーで飯を買い箸を貰い忘れバスに乗ると立命館大学についていた


会場へ行くとりかさんが運営頑張っててほえー
名札を貰い料金を払い任意の知り合いに挨拶してた
初日はti11192916とフェリン氏とチームを組むことにしていたので同じ席に座ってTシャツお披露目会をしてた

自己紹介フェーズが始まったので、小粋な挨拶をしようと意気込んでいたけどみんな面白いので控えめにしておきました、夜に本気だそうね

印象的だったのは大悪魔様とTwitterやってない人と奈良なんとかかんとか出身の人とか名前だけで笑いをもぎ取る芸人とかです
後は大人気音楽ゲームをしていて遅刻した人とかが印象的でしたね

チーム決めなんか楽しそうな感じだった、はじめまして~みたいな
僕もね、任意のTwitterのみの知り合いとリアルで初めて会って挨拶したりしてたよ
こ~た↑つがめしゃんが大学合格キメてたので合格祝いをプレゼントした


有効に使ってくれたようでうれしい

コンテスト

とりあえず作戦はA僕BTi11192916Cフェリン先生って作戦であとはよしなに
と思ったらTi11192916はPCのケーブル忘れるしフェリン先生はatomの環境壊れるしこれもうわかんねえな


A問題
なんかネットが重い、紙を読んでたらまあそれっぽい気持ちになった(大嘘)ので適当に標準入力とか書いてお茶を濁しつつPCを得る
雰囲気で書いてたら全然違う事やってたけどまあ全探索しとけばいいっぽいので適当に書いたら通った
「頻尿なのでトイレに行ってきます」

B問題
Ti11192916から難読なんだけどって問題が飛んでくる
俺はICPCでキーボードを触らなかった男だぞ、難読とは言え言語は日本語、俺に読めない言語じゃないね
「頻尿なのでトイレに行ってきます」
5週くらい読んでサンプルチェックして何とか理解しました、、、
「頻尿なのでトイレに行ってきます」
まあこういうのは根気ですよ、実際ソロでコンテスト出ててこれ着たら詰むからね?


気持ちこんな感じです、これは僕は価値があると思う
問題文さえわかれば単純な問題で、サクッと実装して無限にバグを生んでTi11192916を使用してAC
「頻尿なのでトイレに行ってきます」
サンキュー1119

CDE問題
なんかDPっぽくねーとか適当に言ってBのデバッグしてたら通ってた、プロしかいねえ、プロプロプロプロ、はちみつぺろぺろ俺はクマ
「頻尿なのでトイレに行ってきます」

G問題
なんか桁DPなんじゃないかなってTiが言ってたのでググって勉強してたらタイムアップになってた
「頻尿なのでトイレに行ってきます」
考察はそれっぽいところまで来てたしちゃんと通すかなあこれはいずれ
「頻尿なのでトイレに行ってきます」

コンテスト中に7回トイレに行った、これはギネスに値する

コンテスト後/懇親会

解説聞いて感想戦あちこちでやってた
懇親会へ


ローストビーフとか凄かったけどソースが弱い(は?)
普通にいつものメンバーとTLで知ってた人と下らん話をしていた
人間は働くべきではないとかそんな話をしていたら気が付いたら自分語りをしていた(?)
知らぬ間に人が集まって来ていて、らてあセミナーが始まっていた
議題は如何に働かずに生きるか、大盛況であった
次回開催は翌日です、よろしくお願いしますじゃあないんだよな

Ti11192916を泊めることになっていたので一緒に電車乗って実家へ
母親が駅まで迎えに来てくれたので乗ってブーン
実家ではSASUKEを見ていた
まあ別に


実家に関しては
特筆すべきことは無いです
SASUKEが面白かったことを書くとスペースが足りないので

day2

会場

駅でYazatenに後ろから刺されて死んだ、BadEnd...


立命に着きました、朝早い
今度は背後を取ったので無事ドン勝が食えた

りかしゃんがチノしゃんになったり僕に耳が生えたりTAB君に素数が生えたりした



と言う事で

コンテスト

A僕BりかしゃんCTABちゃん
A問題
難読(は?)
なんかまあ書いてある通りに実装してAC
「頻尿なのでトイレに行ってきます」
ぱぱっとPCパス

BCは二人がパパっと通してくれた、しゅげえ~

D問題
なんか分割が地獄みたいになりそうだし考察したけどクラーが飛んでて意味がなくなった
「頻尿なのでトイレに行ってきます」
誤読ってわけじゃないけどなんだかなあ

F問題
結構通ってたのでこれを選ぶ
あみだくじを全部使って最初と同じ状態にできるかって聞かされてそれ意味あるのか?みたいになる
手元で試すと意味があることが分かった(アホ-コラシック)
しかしサンプルが合わねえじゃねえかって思って問題文読むと、全部使わなくてもいいらしい
なーるほどねって感じでパターン列挙してたらなんかif文分岐で書けそうな気持になるけど割と多い
あみだくじの個数が8個くらいあれば十分だなってわかったので実装すればいいんじゃねって3人で合意する
誰が実装するんだこれきらーいとか言うてたらみんな嫌いだった、仲良し(#^.^#)
まあ後半のヤバい奴を実装してくれるって意味だよねって事で実装を買って出た
二人に実装の仕方教えてもらったりサンプル検証し直してオイオイ言ってたりした
分岐書いてたら残りはネクストパーミュテーションでいいじゃんって言われる
オーケー実装するぜって言いながらネクストパーミュテーションぐぐってたら引かれた
ぴょえーって感じだ
まあ実装して自力でテストケース生やして検証して合ってそうだったので提出、AC
実装弱者だしぐちゃぐちゃソースを描いちゃったんだけど通ってくれてよかった、褒めてくれていいよ
「頻尿なのでトイレに行ってきます」

その後はたぶくんが幾何とか桁をにぶたんしたりしてくるしんでたのをよしよししてたよしよしヾ(・ω・`)かわいい
りかしゃんに一般マッチングはクソだからなんか貪欲を信じようとか言って迷宮に誘い込んだ
正直ごめんって感じだった、考察結構捗ったのに1問もそっから通せなかった

今回はトイレを3回で抑えた、肛門トレーニングの成果を見せてやったぜ

懇親会

焼き肉GO
焼き肉屋ではYazatenポンコツエピソードをばたこしゃんと怒髪様に聞かせるなどしていた
なんか僕喋ってばっかだな、隙あれば自分語りする奴、いくらでも任せてくれ
その直後Yazatenが荷物を忘れたりしてて面白かった

day3

会場

駅に着いたらYazatenがいた、コイツストーカー検定2級
どのバスに並んだらいいか迷ってるとうくさんっぽい人が並んでるので並ぼうとしたらうくさんが”わざわざ”列から抜けて挨拶しに来てくれた
日頃は悪魔を演じていても当然血の通った人間なのだ、ツイートを見ても一目瞭然である


一緒にバスに乗り込み立ったまま立命へ移動
足が壊れた
この日はチームをランダムに任せていたのでわくわくであった
わーい
のみさんにA僕がBつぼさんがCになった、後はよしなに

コンテスト

B問題を読む
あーなんか2と-2と-1しか使わなくていいなこれって感じ
Aの実装できそうらしいので一応解法聞いてみて大丈夫そうだったので実装に入ってもらう
B考察を雑に進めるけど貪欲に2と-2をとってマイナスを調整するだけっぽいのでしたが一応つぼしゃんが聞いてくれるとDPで殴れると言われたので貪欲を説明、GOって感じだった
Aなんか通らないと言われるもC++14にしてなかっただけだったみたい、サクッと実装完成させてて偉い
B実装させてもらう、ややバグらせたというか、出力するだけじゃだめなので配列に突っ込んで要素数出力までやってAC
まあちょっと遅かったけどWA出してないから許してね

つぼさんがCを苦しそうにしていて見てもなんかダメな個所がわからない
「頻尿なのでトイレに行ってきます」

D考察
最初つぼさんが全部素数を状態として持つと言い出して流石に無理だねって言ってて切り上げた
その後最新の使った素数だけ持ってりゃいいじゃんアゼルバイジャンなことが分かったので相談する
のみちゃんに10^6までの素数の数ググってもらったらむっちゃ多くて持てないことが分かった、だみだこりゃ
その後も考察し続けたし、かなり惜しい感じだったけどダメだった

F考察
なんか各辺の使用回数とか持てないかなーとか思ってたけどdfsはさすがに計算量が指数ってつぼしゃんに言われて永眠しました
その後別の問題とか眺めてたら最小カットじゃーんって言われたから天才って答えたらつぼさんが一瞬で片づけててやべえと思った
「頻尿なのでトイレに行ってきます」

もう解けるのがなさそうだねって事でCのデバッグをみんなですることを提案
つぼさんが別の方針で実装してくれるも全く同じケースでWA
僕「これはつぼさんのライブラリがバグってるか、我々の頭がバグってるかのどっちかですね!」
苦笑が起きた
タイムアップ

まあ我々の頭がバグってたんですけどね

つかささんの圧倒的解説とかを聞いてRUPC自体は終了した、すでに疲労感が凄かった
トイレは2回にまとまり、このペースで行けば来年のRUPCでは-362回行く計算になるf:id:ratetion:20180401012041j:plain

昼食その後

なんか部屋の片づけ待って一緒にご飯行くかーみたいな感じの事をやってた
こたつがめしゃんとおるふぇしゃんとかちゅかしゃしゃんとかと雑談してた
一緒に立命のカフェでランチをしゃれ込んだ、3時過ぎに
そのまま流れで京都に行ってゲーセンに行った
空気に流されるままに大人気音楽ゲームことチュウニズムを一緒にプレイした
なんかわからんけど楽しかったです、こたつがめしゃんと一緒にマッチングできたのでまあよかったと思います
時間がヤバだったのでこたつがめしゃんを送り届ける
京都駅は迷宮なので小粋な散歩を挟んで迷子になりつつ改札まで送り届けた
まあ多分そこのホームで合ってるから気を付けてね、って言いつつ売買してきた、こたつがめはレア度が高い生物なので当然高値で取引される
北陸へ輸送するコストもすぐに元が取れる

ゲーセン戻ってたらたらして解散して解散して解散した
つかささんと虚空をつまみにしながら疲れると虚空が見えるよねってトークで盛り上がった
りかさんが若干引いていたのをよく覚えている、虚空は時に残酷である

つかささんも移動だったので電車に座るのを見届けた、座るのが上手い
りかさんと虚無満員電車に乗って帰ってた

RUPC終わり

なんか雑な文を淡々と書いてしまったなと思ってるけど劇的な3日間でとても楽しかった
成長できた気もするし課題がいっぱい見つかったし交流目的と考えると完璧だったようにも思うし
とにかく疲れたけど楽しかった、頭いっぱい使ったしくらくらしたけど

運営作問陣参加者関係者の皆様には厚くお礼申し上げます
なんか本当に自由にトイレと会場を反復横跳びしてるだけでしたが、とても充実した3日間でした、本当に行ってよかったまた行きたい
色んな人にお世話になったしまたどこかで会えるでしょって何度も言った気がする
次会うときは青くらいにはなって好きなアルゴリズムを8兆個くらい語れるようになっておきます

立命館NAIST競プロ合宿参加記

どうも~~~らてあでーーーーーす~~~~~いえーーーー
知らない人も多い(ほぼ知らない)と思うんですが、立命館大のRiPProの方々と合同で1泊2日の競プロ合宿をしてきました
参加記と言うかバラエティーわくわくほっこり日記です

参加まで

NAISTのYazaten氏とRiPProのりか氏でなんかそんな話が出てて合宿しましょうみたいな感じらしいとYazaten氏から聞く
まあやろうやろうみたいなテンションでいた
サンクスフェスの帰りにYazaten氏とT.M.氏で内容とか喋ってたけど決め切らないまま当日を迎えてしまった、じっくり考えるのもありだったのかな

前日

実家に帰って向かうことにしたのでTLEするわけがない、わっはっは

1日目

立命館まで

10時ごろ起きて優雅に朝食を済ませた
indeedTシャツを着ておいた
NAIST勢が順調に遅刻してるのをTwitterで眺めながら余裕の到着を見せたが、駅合流したかったので駅で睡眠をした
まだ来ないやろと思って寝てたら普通に目の前にいてアイヤー
Yazaten氏、yurahuna氏、きりん氏と合流、NAISTメンバーがそろった
合流して駅近くのスーパーで昼飯とか買ってバスに乗り込んで立命へGO


構内を歩いているとりか氏に遭遇、挨拶してなんか立命のカフェっぽいスペースで買ってきたご飯を食べた
立命の建物にはおしゃれな名前があちこちについていてよくわからない、NAISTは建物数がわかりやすいので
きりん氏とノリでコンビニに行って買い物をした
立命館大は最先端を往くので仮想通過を当然持っている(?)
色々グッズが売ってて、まあ知人が立命生多いから知ってはいたけど面白かった

自己紹介とか

おしゃれな建物の上の階のおしゃれスペースへYazaten氏の導きでたどり着くと、RiPPro勢が集まっていた
全員揃うまで適当にネットワーク接続とか確認して自己紹介フェーズが始まった
なんか割と自由な自己紹介だったので


なぜか最近印刷したアイコンの紙がカバンにあったので「このアイコンの人です」って言うと「あー」って感じだった
そもそも知り合いが多いので概ね1回生と初めましてって感じ
その後「touristじゃんけんを作ってました」と言うと伝わったのでコンテンツに依存して生きているという感じだ

強い方々でよしなにばちゃを立ててくれた
水色以上はこどふぉばちゃ、未満はAOJ-ICPCばちゃ
1回生がAOJ-ICPCやりたいって言ってて強いなあって思った、僕はやりたくない
コイツ実装が嫌いすぎるだろ、楽しいけどね、辛い時が多いからね、良くないね

[おかしをじゅんびするYazatenの写真]

ばちゃ1

Dashboard - Codeforces Round #443 (Div. 2) - Codeforces
A問題
難読だった、うーんこの
まあ医者がたくさんいて、全員に診てもらわないといけないんだけど難病だから順番に診てもらわないといけない
でも医者がいる日が決まってるから時間かかるし何日かかるか教えてねって感じ
ストーリーは適当言いました
同じ日には一人の医者にしか見てもらえないという部分を読み逃して1WA、みんな同じミスしててウケ

B問題
1列に人が並んでて、先頭から2人が卓球して勝てば連戦、負けたら列の一番後ろへ行く
ただし各プレイヤーに強さが決まってて強い人が勝つ
これは理不尽、コナンの映画でも勝ったものが強いのだって言ってた
k連勝した人を出力
先頭からなめてってk連勝するか、一番後ろまで言った場合は一番強い人を出力ってやればいいはず
人が入れ替わるタイミングの1勝を数え忘れて無限にWAを出した

C問題
なんかAND,OR,XORを使った処理が入力されてるんだけど頑張ったらもっと短くできるから短くしろやみたいな(伝わらない)
XORで無理やりやればあらゆる状態が作れるから無理やりやろうとしたらダメだった
考察してる間に時間切れになったけど、徐々にわかって来て解法は生えそうだった
終わった後で教えてもらってしっくりきた、こういうのすきよりのすき

終わった後どんな感じかなと思ったらあちこちで感想戦が生えてて面白かった
みんなAもBも同じミスしてたりとかして笑ってた

しばらくしてカタンやってる勢と考察とか実装やってる勢と雑談やってる勢で別れてた
僕はりか氏と熱いなりきりトークをかましてた

ごはん

チェックインして部屋に荷物おいてご飯に行くことに
NAISTより安く泊まれるしなんか部屋も広くて机も置いてあって良い
Yazaten氏が立命時代に足しげく通ったと申すラーメン屋にNAIST勢+りか氏しゅもん氏で赴く事に
雨が降ってて寒くて険しい道のりだった
餃子セットにしたら餃子がかなりニンニク強めでつらかった
ラーメンはいいスープしてたし美味しかった、セットにお米もついてくるのでスープかけて食べたけどこれはイマイチだった、失策であった

[立命時代に足しげくラーメン屋に通うYazatenの写真]

みんぷろ

立命宿に戻ってPC準備して出た

A問題
yahoo

B問題
割ってかける

C問題
虚無
ゲーム系なのでDPテクニックを思い出して逆算しようとしたら最適な手が定まらない
順位表見ても解いてる人が少ないしなんかまた得点あてにならない奴でしょって感じだった
眠かったので寝た
起きたらわからないので実装して寝た
起きたら考察してたら終わった
悲しいね、みんなのプロコン
効いたよね、早めのパブロン

カタン

みんぷろ感想戦やってからきりん氏とシャワー浴びに行った
脱いでたらmel氏TM氏が来たのでカタンやってたら遅刻したとかC問題はダメだとかそんな話をしてた
雨だったこともあって気持ちいいシャワータイムだった
DDCCTシャツに着替えた
間違えて女子用に入りかけたのはきりん氏にはばれてないと思う、いや正直ばれてると思う

で、カタン混ぜてもらうことにした
カタンはよくやったので負けるわけにはいかない

二人が微妙に木と土に分散してどっちかは高くなりそうだったので発展戦法を選ぶことにした
鉱山の9と麦8と羊5が取れたのでかなり盤石に見えた
序盤から発展でサクサク点をかき集め騎士乱発しておいた
mel氏は安定して街道を伸ばしている
TM氏は4付近に開拓地を立ててバリュー上げをしていた
騎士で二人の邪魔をしつつサクサク発展しきって結構理想的な勝利をした

誰がカタンの感想求めてるんだ?

深夜徘徊

カタン終わって部屋に戻るとNAIST勢は偉いのでみんな寝てた
合宿と言う名前のバリュー、テンション、みんな寝ている部屋、ノスタルジックとか言いながらスマホのライトで頑張って音もあまり立てないように椅子に座ってボーっとTwitter眺めて歯磨きしに行った
mel氏もやって来てシャコシャコやってた
終わって部屋まで歩いているとりか氏もいた
仲間を増やして次の街へって感じだ
なんかみんな同じ感じで寝るテンションじゃなかったので1時間くらい雑談してそれぞれ部屋に戻った

寝る気が起らなかったので深夜徘徊した
部屋に戻るとTwitterにmel氏もりか氏もいて、3部屋借りてて各部屋一人だけ起きててなんだこりゃって感じだった

暇だったので575探しに深夜徘徊をした
流石にアレ
りか氏も出て来て一緒に575を検出したりしてた
絶対寝坊する奴やん
まあわが部屋の皆様は優秀なので既に僕より4時間睡眠アドを稼いでいる

つまり4時ごろ就寝

2日目

きりん氏の輝夜月のモノマネが聞こえて目が覚めた
コドフェスTシャツに着替えた
9時半ロビー集合だったので部屋の片づけとかささっとやってちょうど位にロビーに行った
移動して昨日の部屋で朝食食いながらばちゃばちゃ

ばちゃ2

Dashboard - Codeforces Round #326 (Div. 2) - Codeforces
ドォフォフォwww

A問題
難読英文^;^
今使うべき奴を持ってオラァってやったら通った

B問題
入力された数字の約数でx^2の約数を持たないような最大の数字を出力
説明下手なので英語読んできてw
最初はエラトステネスの篩かそれっぽい物を持とうとしたが全く間に合わない
よく考えると素因数分解してそれぞれの素数の次数を1にするだけじゃん
はいプロ自明に天才やはり天才は100%の閃き宝石の煌めき秋の色めき堂々のムキムキWA
おいおいなんでWAなんやって色々やってたら終了してしまった
方針を変えてx^2で割れるならxで割るってループを描いたらACした
後でYazaten氏とmel氏に見てもらったら素因数分解が上手く書けてなくて、最後に残った数字が0でなければその数字を追加する処理を書き加えたらAC
これはダメだ~ソースコードだけじゃなくてついでに頭も診てくれ~

C問題
ばちゃは終わったがせっかくなので開いたらTM氏がやってきた
ちょっと誤読しやすそうなところをヒントをくれて考察したら一瞬で解法が生えた
同じ次数の物は2つまとめてもう一つ上の次数に出来るってことに気づけばいいだけでKUPCのアレに似てた、わかれ
3完したいセットやんけ

お昼

時間が惜しいのでコンビニとかで各自って感じになった
カップラーメン買ったら移動してサークル棟(なんか確かアルカディアスみたいな名前の建物だった)
f:id:ratetion:20180213002407j:plain
6マナ12500
進化エンジェルコマンド
W・ブレイカー
光以外の呪文は使えなくなる

部室とか見せてもらった、楽しそうだし羨ましい
入口に近いミーティングルームが開いてたらしいのでそこでやることに
お湯沸かすアレ持ってきてくれたのでその部屋で入れてもそもそラーメン食ってた
食いながらコイツまたラーメン食ってるなと思った
スープも飲んだし塩分過多過多土方歳三

ばちゃ3

APCばちゃをやることになった
ぺとろざうぉーつくなんとかかんとか
petrはレジっただけで全完
AtCoder Petrozavodsk Contest 001 - AtCoder

A問題
forループ書いたンゴ

B問題
むっちゃ詰まった
操作が許される回数を数えてそれぞれ少なくとも必要な操作回数を数えて、許されてたらえいみたいなことをしてlong long intつけわすれてつけてAC

C問題
適当に二分探索書いたら通っちゃった、いえーい

D問題
なんか貪欲にやったらできそうだけどそれなら600マジ?とか言ってたらおしまい

感想戦ではきりん氏にBを解説してC問題のにぶたんを乱択するとはやくなるとか謎の議論をしたりしてた
Dはほえーって感じ、こういうのでUFとかササっと出てくるようにしたい

終わり

今度は夏やりたいねーとかNAISTには宿泊施設はあるけどNAIST勢は泊まらないやろなあとか、NAIST勢の家3つくらいにみんなを泊めればいいとか(←これ個人的にやりたいけど)話しながら解散
駅までのバスでりか氏ときりん氏とRUPCに行くべきとか、アルゴリズムの話について行けなさそうとか、でも同じ実力くらいの人と喋るときはこう、最近解いた問題トークとかがいいぞとか言ってた

駅で僕だけ逆方向なのでひとりで電車に乗って帰りました
堅苦しい文章書くと誰でも書けて感情がこもってないとか言っちゃう(は?)
準備とかなんか色々任せっきりだったしただただ楽しいだけをさせてもらってた
ありがとうございました
また是非卒業までには何卒
今度は僕もやりたい事とか考えておくんで、何卒

そりではこれでいいな、行きたいなと思った人は立命館大学の願書とNAISTの願書を取り寄せて下さい
ritsnet.ritsumei.jp
www.naist.jp