ICPC国内予選2020参加記

チームshop_oneで参加しました。

メンバーはshop_one(RenFukatsu)さんとshop_one(GunseiKPaseri)さんとshop_one(僕)です。

チーム名の由来はshop_oneさんです。

 

前日まで

shop_one(僕)は国内予選の直後に国際会議を控えており、この時期は忙しいだろうから出場を諦めようと思っていました。

しかし何か知らんけど忙しく無かったので(マジで数日後国際会議のはずなんだけどどうなってんのかよくわからん)、直前になって、他にチームを組んでなかった同大学のよく知らない水色コーダー(他学科の人&三学年下の人)を誘って急遽出ることにしました。

幣大学にはチームshop_one以外に、既にshop_oneさんが所属するチーム(highest青2、水1のチーム)があったので、予選突破は厳しいだろうというつもりでいました。

しかし、一回だけやったチーム戦(2017国内)でうっかり4完してしまい、ワンチャンあるかもしれないねという感じのチームになりました。

まぁ十中八九shop_oneさんのチームに負けるだろうなーっと思ってたので、shop_oneさんに「勝った方が焼肉奢りでどうですか」と持ち掛ける。

 これで他人の金で焼肉よ。

 

当日、コンテスト前

shop_one(GunseiKPaseri)さん、体調不良で欠席(リモートで参加はしてくれる)、ウケる。

リハーサルで全完。

後で聞いたんですけど、4問目550点らしいですね、よくACしたなshop_one(僕)。

ここで運を使い切った気がする。

 

コンテスト中

Aをshop_one(RenFukatsu)さん、Bをshop_one(GunseiKPaseri)さんに任せてshop_one(僕)はCを見る。

よくわからん、3乗根取って適当に探索したら通らんか~?って言ってたらAを通したshop_one(RenFukatsu)さんに「絶対に無理です。」と強めに否定される。∩(´;ヮ;`)∩ンヒィ~~~~~~~~~~~~~~~~~~~~

shop_one(RenFukatsu)さんがまず素因数分解するというヒントをくれたので、雑にw,d,hにそれぞれの素数を何個ずつ割り当てるかをdfsしたら通る。これ計算量大丈夫なのか……。

3完時点でshop_oneさんのチームに勝っていたのでワンチャンあんじゃね~?と思っていた。

D、わからんって言ってたらshop_oneさんのチームが通した。ワンチャン無かった。

E、わからん

F、コンテスト終わりかけに問題概要を聞いて(自分で問題読んでも何書いてあるかよくわかんなかった)、何か後ろからUnionFindか部分永続UnionFindでも使うんじゃないんすか~?と言いながら雑に書いたらWA、はい。

 

コンテスト後

 やったね。

 

感想

直前に組んだ寄せ集めのチームにしては健闘したと思います。

アジアに行けなかったのは残念だけど、まぁちょっと相手が悪かったですね。

shop_oneさんを闇討ちしなかったshop_one(僕)の落ち度です。

JAG夏合宿2019参加記

JAG夏合宿2019に参加しました。

コンテストで僕はほぼ置物だったので、コンテストの話はほとんどありません(何のための合宿ですか)。

 

前日まで

ICPCのチームIntegrated Qualityからは僕とTi11192916さんの2人が参加することになった。

Ti11192916さんの「しーあるは他の世界を知るべき(意訳)。」の意向で、合宿中に行われるコンテストは、僕とTi11192916さん(ともう一人誰か)が同じチームになる日と、僕とTi11192916さんが別のチームになる日があると良いかもねとなっていた。

notさんがTwitterで作ってくれていた参加者のリストを見ると、僕がフォローしてる人が1/4くらいしかいなくて(冷静に考えると十分多くね)、チームとか部屋割りとかの不安でお腹が痛くなってしまう。

 

day1

11:00-12:00集合のところ、11:00ぴったりに会場に着く。参加者1番乗り。

ちょっとずつ他の人も来るが、知ってる人がいない(人々はTwitterのアイコンと同じ見た目をしてないので知ってる人かどうかわからない)のでどんどんツラい気持ちになる。

運営が「ハンドルネームと本名が並んでるの違和感あるけどTi11192916だけ違和感ねぇw」とか言っててウケる。みたいなツイートを真顔でする僕。ツラそう。

配られたしおりに部屋割りが書いてあって、TABさんとしゃっふりゅーさんとsimさんが僕と同部屋であることがわかる。

TABさんは数少ない喋ったことある競プロer(あとイケメン)だったので助かる~~~~ってなった。

集合時間が過ぎ、ガイダンスが始まり、一人ひとり自己紹介する流れに。

コミュニケーション能力に難があるので、人前で自己紹介するの無理無理無理無理無理無理無理と思ってたが、みんな所属とハンドルネームを言う程度で終わってたので命びろいした。

とはいえちょっとは印象に残らんとなと思ったので、わざとチーム名を噛むことにした。

「○○大学 イン…インテ…インテグ……Integrated Qualityのしーあるです。よろしくお願いします。」

ちょっと笑い声が聞こえたから勝ち。決して滑ってなどない。

その後コンテストが始まるまでの間にこたつがめさんが来てくれて話しかけてくれる。これマジありがたかった。

コンテスト

僕とTi11192916さんとぴーよさんで組むことに。

ぴーよさんに「つい先日までじゅっぴーさんとインターンしてた人ですよね!?!?」などと絡みたかったが、すっかり弱気になってた僕はあんまり喋れなかった。悲しいね。

とりあえずAは僕に任せてもらえることになったので頑張る。

実装に手間取ってる間に、他の複数の問題の方針が立ってて、僕が実装終わるの待ちになってそうな雰囲気を感じて申し訳ねぇ~~~ってなる。

Aを通しました。後は問題をいくつか読んでその概要を伝えるをしました。以上です(おいおい)。

その後

夕食食べたりこたつがめさんと一緒に風呂入ったりちょっとだけボドゲやったりして終わり。

 

 day2

朝食激混みで萎え。

コンテスト

僕とわくさんとmo3tthiで組むことに。

僕はIを実装できないを担当しました。本当にごめんなさい。以上です(ツラい)。

 

懇親会

19時から懇親会があるので、それまで部屋で仮眠を取ることに。部屋にはしゃっふりゅーさんもいた。

~19時半頃~

しゃっふりゅーさん「やべぇ!懇親会始まってる!!」

しーある「えぇっ!?!?」

懇親会絶起勢です。なんやねん。

遅刻して行ったら、食べ物は無残な姿のカツサンドくんとマフィンしかなかった。

もうある程度人の集まりが形成されていて、後から入ってくのしんどいなぁってなってしまう。

とはいえ会場を回って知ってる人とある程度は話せたので頑張りました。

beetさんにABC141の問題教えてくれと言ったら教えてくれた。

beetさん「Aがtoptreeで、Bが多倍長なんだけどPythonだと重くて通せなくて、Cがコーナーケースが100個ある幾何で、Dが証明してないんだけどできそうだから出した。」

 ????????

その後

こたつがめさんがABC141でコードゴルフすると言うので観戦することに。

開始とともにA問題を開き、問題ページ下部のコードを提出するところに直接コードをべた書きし始めてそのまま提出。一発AC。ヤバ。

以降もほとんどエディタを使うことなくコードを縮めていく。激ヤバ。

Eまでは順調にACしてたんだけど、Fで一度こたつがめさんの手が止まる。順位表見ても結構ヤバそう。

こたつがめさんの隣でMisterさんがうししゃんのgithub.ioを見てたので、ぶろっくくずしを開いてこたつがめさんの邪魔をしようとしたが、リンクが貼ってなかった。

誰かリンクくれ~ってツイートしたらbeetさんが送ってくれる。流石ぶろっくくずしガチ勢(ぶろっくくずしが何かわからない人はbeetさんに聞いてね(丸投げ))。

 僕はこたつがめさんのABCの観戦をした後に風呂に入ろうと思ってたが、ABCが終わった後に風呂に行くと、ABCに参加してた人たちで風呂が混んでしまうので、こたつがめさんにさっさとFを通して欲しい気持ちになる。

しーある「早くF通して。」

こたつがめさん「キレてしまった。」

ごめん。

それでも直後にFの実装が終わって、提出をしたものの、ジャッジが遅い。

こたつがめさん「通れ通れ通れ」

しーある「ありがとうありがとうありがとう」

こたつがめさん「ありがとうありがとうありがとう」

通る。きれいな言葉をかけたジャッジはACを返すことが証明される。

 比較的空いてる時間に風呂に入れました。やったね。

 

day3

なんかあったっけ

コンテスト

僕とTi11192916さんとclaw88さんと組むことに。

とりあえずAは僕に任せてもらえることになったので頑張る。

一応通せた。良かった。以上です(あの)。

 その後

解散。駅でこたつがめさんに会う。別の電車に乗るということで、また会いましょうねと言って別れる。2駅先で再び会う。あれ?

帰宅。終わり。

 

感想

参加記でコンテストの感想が書ける程度には活躍できるといいねという気持ちになった(この参加記を書いてる間虚しい気持ちだったので)。

あとこたつがめさんのことばっか書いてて全然人と交流してなくないかとなってしまった。

競プロ力も社会性も身につけたいですね。以上です。

ICPC国内予選2019参加記

チームIntegrated Qualityで参加しました。
メンバーはTi11192916さんとmintくんと僕です。
チーム名の由来はTi11192916さんが代表をやっていたサークル名です。

前日まで
Dを通さなければ予選突破は厳しいということで、Ti11192916さんがD、僕とmintくんがA~Cを担当することに。

何度かチーム練をした結果、
1.Aは僕がやる。その間にmintくんにBを考えてもらう。
2.僕がAを通した頃にはmintくんはBの考察が終わっていて、そのまま実装に入る。その間に僕がCを考える。
3.Bを通したmintくんと一緒にCを詰める。どっちが実装するかはその時次第。
という流れができ、そこそこの速さで3完できるように。

僕としてはとりあえず3完まですれば、後はTi11192916さんがどうにかしてくれるので、あんまり気負わずに行こうと思っていた。
僕はメンタル雑魚芸人なので気負うと死んでしまうので。

当日、コンテスト前
昼夜逆転マン、眠れず。
コンテスト前に明らかに自分がド緊張しているのがわかる。
Ti11192916さんに「コンテスト前は瞑想をすると良いらしいよ。」と言われ、目を閉じる。眠いので寝た。

コンテスト中
とりあえず僕がAをやる……んだけどメンタル雑魚芸人なので、緊張でキーボードを打つ手がドッタンバッタン大騒ぎする。
「やべーやべー手が超震えてるあわあわわわわわわわわ」ってなってると、Ti11192916さんに背中を撫でられる。落ち着いてAを通す。子どもかな?

練習の流れ通り、僕がAを通し終えた後、既にmintくんがBの考察を終えていて、速攻で通す。偉い、とても偉い。

Cはちょっと困ってしまった。
とりあえず分銅で作れる重さを全列挙するまではすぐに考えついたので、それからどうするかをmintくんと話し合う。
方針が立ったので僕が実装して提出するもWA、あわわわわわわわ。
うーんうーんとしていると、分銅で作れる重さの内、0が抜けていることに気づく。
僕とmintくんで「これで駄目だったら本格的にわからんね〜……」って言いながら出すと通る。
僕とmintくんの間で「あー、良かった。」という空気が流れる、まだ終わってないよ。

後はTi11192916さんがDを通すだけ……と思っていたら、苦戦していて、順位表を見てもDがヤバそうだという雰囲気が出る。
僕とmintくんもDの考察をするも、何も見えず。
しばらくして、僕とmintくんは割と諦めムード。特に僕は、Cで1WAしなければ3完で予選突破できたかもしれないという自責の念に駆られていた。
すると突然、Ti11192916さんが自信満々に「解けました!」と言う。Ti11192916さんによると、そのときの僕のリアクションは見物だったらしい。
その時点で残り時間が30分ちょっとあり、Ti11192916さんが実装を始め、僕とmintくんは安心して駄弁り始める。が、段々雲行きが怪しそうな雰囲気が出てくる。
終盤、僕とmintくんは黙ってただただ祈るだけになる。祈りは届かなかった。

コンテスト後
Ti11192916さんが順位表を見ながら、「ギリギリ通ってそう」と言う。マジ?
順位表をちゃんと整理すると、ギリギリ通ってることがわかる。マジ?
結果として、僕とmintくんでTi11192916さんをアジアに連れて行くという形に。


あれ?

感想
僕としては、僕のせいで予選通過できないという事態だけは避けたいと思っていたので、形はどうあれ通過できてホッとしている。
メンタル雑魚芸人の僕がCを(1WA出したものの)予選通過ライン内で通せたのは、Ti11192916さんがいるから大丈夫だと思いながらやっていたおかげだったり、そもそもチーム練の成果がかなり発揮されていて、その機会を設置してくれたのもTi11192916さんなので、実質Ti11192916さんにアジアに連れて行ってもらったようなもんだと思ってます。
あとmintくんが本番なんかめっちゃ落ち着いていたのも結構大きかった気がします。その落ち着き僕に分けてくれ。
アジアも頑張ります。

全国統一プログラミング王決定戦懇親会参加記

日経新聞主催の全国統一プログラミング王決定戦の予選で、運良くそこそこの成績を収めることができ、決勝が行われる会場に行く権利を得た(決勝に出場する権利ではない)ので行った。

前日
懇親会に名札は必要だろうと思っていたが、作ってはいなかったので、「名札無いや」とツイートしたところ、先輩のAmanukoさんと納豆大好き侍さんが僕の名札を作ってくれることに。


前日まで、夜に起きて昼寝る生活をしていて、家にいると寝落ちしてしまいそうだったので、かなり早めに会場のある東京ドームホテル周辺に。
Twitterを見ると、ゲーセンで音ゲーしてる競プロerがいるっぽいので、僕もjubeatやってれば時間潰せるだろうと思って行ってみたら、SEGAのゲーセンだったので、SEGA製の音ゲー(チュウニズム、オンゲキ、maimai)と太鼓の達人しかなく、詰む。
チュウニズムをやってる集団がいたので、競プロerであることを確認(こたつがめさんとWA_TLEさんと物理好きさんだった)、声をかける勇気が出ず立ち去る。


やることが無いのでとりあえず飯を食う。
f:id:c_r_5:20190218113623j:plain
ペッパーランチ、美味い。
それでも入場受付時間までまだ3時間以上もあり、とりあえず座れる場所欲しさにカラオケ店を探す。
JOYSOUND:建物の水道管工事で休み
BIG ECHO:なんか知らんけど休み
何かよくわからんとこ:何かよくわからんけど休み
キレた。
その後なんとか開いてるカラオケ店を見つけ、ようやく腰を落ち着ける。
しばらくして、Amanukoさんと納豆大好き侍さんがカラオケに合流。
先輩方に作らせてしまった名札をいただく。
f:id:c_r_5:20190218114911j:plain
煽り文が最悪すぎる。
入った途端二人共パソコンを開く。競プロerっぽい(?)
ちょうど決勝の問題のpdfが公開されたので全員問題を解き始める、実質オンサイト。

会場
競プロerとして最高の時間潰しを終え、会場へ。
受付のために並んでいると、chokudaiさんがAtCoderのステッカーを配りに来た。初の生chokudaiさんにテンションが上がる。
受付時に、実は用意されていた名札が配られた。
AtCoderのIDと本名が書かれていたので、プライバシー保護の観点から(?)先輩がたに作っていただいた名札で本名を隠すことに。
もう文字打つの疲れたから後は適当に書く。

トークショー
何か良い感じの話をしていた。とりあえず前で堂々と喋れるだけでもうカッコいいと思った。

表彰式
決勝で20位以内だった人が前に呼ばれる。双子が連順位だったので双子って双子なんだなぁって思った。

エキシビション
超ヤバい(語彙力)
コードゴルフ勢はもう考えたりしてそうと思いながら見てた。

懇親会
500人は多い。特定の人を探すのは無理そうと思ってたら、わりと早めに%20さんに僕を見つけていただける。探索のプロ。
ゴルフ勢が集まってると聞いたので着いていく。
こたつがめさんとうらさんに会う。こたつがめさんはスマホでゴルフをしていた。
しばらくゴルフの話をして、またウロウロし始める。
飯はなんかめっちゃ並んでるから諦め、とりあえず名札を見て知っていたら声をかけるムーブに。
てぃーいけさん:なんか胸にデカい船見結衣の缶バッチ着けてる。ステッカーを貰う。
てんぷらさん:熊じゃなかった。ほむさんどこですか?って聞いたらすぐ近くにいた。流石
ほむさん:ほむ〜
シンヤカトーさん:本名がシンヤカトーじゃない。
おるふぇさん:おるふぇがおるふぇ!!!!以外に何も言ってない気がする。
Joeさん:IDを見ても誰かわかんなかったが「卒論の人です」って言われてJoeさんだとわかった。なんでそれでわかるのか
ふーらくたるさん:コミュ障をした。
鍵月さん:かわいい
はりぼてさん:てぃーいけさんがよくふぁぼる人だ!って言われた。

Twitterでよく見る人たちと会えて良かった。
懇親会で納豆大好き侍さんが「CODE THANKS FESTIVALで優勝した人ですよね?」と話しかけられたり、Amanukoさんが「競技Longest Streakerですよね?」とか話しかけられたりしてて、そういう実績で覚えられてるの良いなぁって思った。僕も“力”が欲しい。
おわり。

AtCoderで水色になった。

AtCoderのレートが水色になりました。やったぜ。

使用言語はPythonです。
元々は学校で習ったことのあるJavaで始めたのですが、何か新しい言語を覚えたいと思ったときに、先輩に「Pythonがいいんじゃない(知らんけど)」と言われたのがきっかけでPythonを使うようになりました。

AtCoderを始めてから、1日1ACをするようにしていたのですが、PythonJavaと比べて短く書けるので、だんだん横着してスマホでABC-A程度の簡単な問題を提出するようになりました。無駄。

そして、スマホで楽に書くためにできるだけコードを短くしようとした結果、コードを短くする努力をし始めるようになりました。まぁPythonは比較的短く書けるもののRubyとかPerlとかと比べるとそうでもないみたいなところがあるので、あまりショーテストコードは取れませんでしたが、それでも現時点で17番目にショーテストコードを持ってる人にはなれました。(微妙)
f:id:c_r_5:20190129073440j:plain
(上位の人がバケモンすぎる)

そんなことをやってたので実はAtCoderを始めたときからほとんどパフォが変わってないです。
f:id:c_r_5:20190129072450j:plain

青になりたいなぁ…。

追記


怖いこと言わないで…