tozangezan's diary

勝手にソースコードをコピペして利用しないでください。

海外のICPC練習会とは

これの24日目

こんにちは。tozangezanです。みなさんご存知ですか? あの典型問題の多いコンテストではいつも序盤で上位にくるにもかかわらず、AGCになった途端に全然問題が解けなくなる人です。そんなことはどうでもいいんですが、今回は無気力で書ける記事を目指していきたいので、読者の皆様は辛抱してご解読ください。

今、ブログ記事をアルバータ州エドモントンから書いています(寒い...)。下書き保存して、投稿するときにはマニトバ州ウィニペグにいると思います(もっと寒いっぽい...)。
Twitterのみなさんは変な活動時間から気づいているかもしれませんが、実ば9月からカナダに来ています。*1L'Université de la Colombie-Britannique、もといUniversity of British Columbiaとかいうところに交換留学に来ています。そろそろ帰ります。

実はこの学校、北米の Pacific Northwest Regional で今年優勝しています*2。知っていましたか? いや知らないですよね。NEERCならまだしも、アメリカのRegional事情をわざわざ調べるような日本のICPC参加者がいるとは到底思えません。今回は、そんな大学でどんな練習会が行われているかを取り上げていきたいと思います。

練習会がどういう感じなのか手っ取り早く知る方法は、ここにアクセスすることです。

そもそもどうやって練習会の存在を知ったの

ググったら出てきました。もう現役ですらないのに乱入しました。

どんな練習をしてるの

だいたい週に2回、水曜日と土曜日に練習会があります。水曜日は3時間くらいの個人参加のバーチャルコンテストで、難易度はかなりまちまちです。たまにRegionalとかPetrozavodskとかある一方CFのDiv3とかがあります(30分くらいで全完したあと暇だった)。土曜日はチーム練習ということになっていて、だいたいRegionalを5時間でやっています。一方ICPC現役を引退して日本から遊びに来た人は個人で3人チームに立ち向かいます。
この練習会のもっとも大事なこととして、ピザが無料で食べられます。多分結構な人数は無料でピザを食べるために練習会に来ています。無論僕も例外ではない。
結構な頻度でハワイアンピザがありますが、ハワイアンピザは実はカナダ発祥なんですね。どうりでよく見るわけです。(参考)
一通り終わったら誰かが解いた問題を順に解説していく感じです。これはどこもそうなんじゃないですかね。

レベルは如何に

問題は、だいたいRegionalみたいなものが選ばれます。このRegionalの質というのもかなり地域によるっぽくて、正直アメリカのセットはつまらないです。これでよくあれだけの参加者を確保できているなあと関心するレベルです。
参加者のレベルは、CFのオレンジが少しいて、紫が結構いるような感じで、僕のレベルと上位チームのレベルが同じくらいとかだと思います。

チームの決め方

ICPCのチームを決めるのに独自のコンテストを開いていて、そこでの上位をうまく選んでチームを作っているらしく、testerをすることになりました。間違いを2箇所指摘し、writerがsolを作るのを放棄して僕のコードをそのまま写したようなものにしたら僕のコードも間違っててリジャッジとかいう意味不明な事態になったので、問題を準備する人はこんなことにはならないよう気をつけてください。
ICPCに出てない人たちがどうしているのかは不明です。そもそも初心者みたいな人もよく来るのですが、そういう人たちがいきなりRegionalやって何を解くのかも不明です。

ところで僕は何をしていたのか

普通に一人で参加してました。たいていの場合は一人でやっても勝てるけど、そこはあまり重要ではなくて、解ける問題の集合が同じことはかなり多いんですね。あの典型問題の多いコンテストではいつも序盤で上位にくるにもかかわらず、AGCになった途端に全然問題が解けなくなる人の再来です。僕はやる気もないしもう参加できるICPCも残ってないのでわざわざ練習後に各自で何時間もデバッグしたり嘘解法を無理やり通そうとする気力はないんですけど、やってる人はやってました。あとピザをたくさん食べました。
問題の解説に関しては、たいてい他の人が誰も解けなかった難問を解説しました。ホワイトボードで解法を説明するのは結構難しいです。プログラミングコンテストの問題で使われる英語と、プログラミングコンテストの解説で使われる英語が違うことは、片方やったことない人(さらには両方ともやったことない人)でもわかると思います。問題設定は大概の場合は比較的単純な説明でできるんですよね、だって問題文だってよほどクソでない限りストーリーをつけて現実っぽく見せたりできるじゃないですか。反面解説は数学的な言葉を使うだけなので、別の慣れが要求されます。まあ、いずれにせよなんとかなったと思います。

その他

結局のところ、週2回練習をしてたら相当な時間になると思うのですが*3、それでもやっぱり紫とかオレンジくらいなんですよね。(オレンジコーダーの人は中国からの留学生です)。日本でも同じような傾向だとは思うのですが、大学から始める人をかなりいい環境で積極的に育てても、よほどの大当たりみたいな人材でもない限りIOIの人たちがわんさかいる場所に追いつくのは困難です。今回のいい例はMITで、彼らは間違いなく今年の北米最強チームですが、そんな彼らも以前からの超有名人たちがたまたまその大学に入っただけみたいな感じです。
これは特に東大に関して言えるのかもしれませんが、特に行くことそのものに対する利益がないと、上位の人たちにとってはたいして面白くもない問題セットをやらされて解法を説明するボランティア活動をすることになって行かなくなって、それに従って上位ではない人たちもわざわざそういう環境で練習する意味がなくなるという悪循環を生むのではないかと思います。そこでピザを毎週支給するのはかなりいいアイデアだと思いますね*4。ちなみにこのピザは研究費の予算から出ています。東京大学さん!!!!!!聞こえてますか!!!!!!

写真

f:id:tozangezan:20181121181719j:plain
f:id:tozangezan:20181212181301j:plain
f:id:tozangezan:20181121190838j:plain

*1:正確には8/31

*2:どうでもいいけど、IOI界隈では有名な Richard Peng 氏が唐突に僕にICPC関連のメール送ってきて、東大の代表だと思われてんのかな?と思ってたら違って、「今年強いから君がUBCのコーチやってんのかと思ってたわw!」みたいな感じだった。ICPCの参加者たちでそんな話をしてたらしい

*3:ここまで本格的に練習会を頻繁に開く大学もあまり多くはないそうです。が、お隣アルバータ州でもやけに賞金の高い($1500とかだったと思う)大学主催コンテストが開かれているらしいです。

*4:カレー味のハワイアンピザは普通に不評だからやめろ