ICPC国内予選 2020 サークル運営記

2020年は新型コロナウイルスの感染拡大で前期のいかなる活動も壊滅的だった。ICPC国内予選も例にもれず、開催が11月に延期された。JAGによる夏合宿も消滅したが、模擬国内予選は例年通り国内予選の2週間前に行われた。

また、予選のルールも大幅に変更された。最も大きなものとしては、マシンが1人1台使用できるようになり、ライブラリのコピー&ペーストが許可された。

日記

サークル:競技プログラミングサークルpuzzleknotのこと

研究室:サークル顧問の先生の研究室のこと

8/24

ICPC国内予選の日程の告知と参加意思のアンケートを取った。

4・5限の公欠届が発行されることも伝えた。(このとき時間帯はまだ決定していなかったが、例年通りであると思い込み5限と明言してしまった。)

9/12

参加意思を示した人に対して、チームをすでに組んでいるかどうかのアンケートを取った。

顧問の先生にコーチを引き受けてくださる方を探してもらうようお願いするメールを送った。この時同時にサークルから参加する予定の人数を伝え、研究室との間での人数調整を図った。

9/13

メールの返信が来て、コーチが決定した。研究室はまだ参加チームを決めていないそうなので、人数調整はこれからとなる。

9/23

コーチからメールが届いた。研究室からは8名参加することになった。サークルからは現在19名が参加意思を表明しているので、ちょうど3の倍数になった。ここで8/24のアンケートを締め切る。

9/28-10/02

コーチとメールのやり取りをして、合同チームに関して決めた。すでにチームを組んでいる人を除外したサークルメンバーのレーティングを一覧にしてコーチに送り、研究室のほうで話し合ってもらった結果、研究室から2名とサークルから1名の合同チームを組むことに決まった。それぞれのメールアドレスを伝え合い、あとは当人間で連絡を取ってもらう。

また、国内予選への参加場所の確保をお願いした。今年はチームがバラバラの場所から参加することも認められているが、例年と同様できるだけ集まって参加することに決めた。

10/02

これまでサークルSlackのannouncementsチャンネルでアンケートを取ったりしていたが、専用のチャンネルとしてping_icpc2020を作成し、以降そこでやり取りすることにした。

ICPC公式サイトで個人アカウントを作ってもらった。使用したメールアドレスを集めるためにGoogleフォームを使用した。

サークルでまだチームを組んでいない人たちを組み合わせ、チームを決定した。チーム名を決めてもらう。ICPCアカウント登録と合わせて、締め切りを10/09に設定した。

10/07

締め切りのリマインドをした。

10/08

全員のアカウント登録が済み、全チームのチーム名が決定したので、まとめてコーチに送信した。

模擬国内予選について周知した。チームごとに申し込みを行ってもらう。

10/13

コーチによってチーム登録が行われた。正しいチーム名であるかの確認と、情報の登録をしてもらう。終わったらSlackでリアクションをつけてもらった。

情報の登録はややこしいので、まず自分で終わらせて、スクリーンキャプチャを参考として公開するのがよいだろう。

Number of Full-Time STEM Semesters Completedという項目が新しく増えていた。おそらく、理工学部であればこれまでに完了したセメスターの数を書けばよいはずだ。

10/19

情報追加の締め切りは10/26だが、早めにやってもらいたいのでリマインドをした。

10/20

公欠届が必要な人は、Slackのチャンネルに書き込むようお願いした。昨年と異なり、今年はフォームを使用しなかった。公欠届がどの程度効力を持つかは教員次第なので、気になる人は確認しておくよう伝えた。

10/20-10/22

情報追加が完了したので、コーチに確認してもらった。数人足りない人がいたので、2回くらいやり取りして埋めきった。

10/21-10/22

公欠届について顧問の先生にメールを送ったところ、PDFファイルを印刷して署名・押印した後再度スキャンして送り返してくれるとのことであった。その形式でよいか公欠届の発行を希望した人に確認を取り、改めて作成した公欠届のPDFファイルを送信しておいた。

また、顧問の先生が担当する講義に対して公欠届を発行する人が3名いた。彼らに関しては書類を用意せず、直接伝えるだけで済ませた。(昨年、書類を用意しなくてもよいと仰っていた。)

10/22

参加場所について、研究室の部屋に全チームが集まるのが厳しいと連絡が入った。これに関して、研究室の人々とサークルのメンバーが一堂に会するSlackワークスペースが設立され、サークル各チームから1名以上が参加することになった。以降はメールではなくここで連絡を取り合った。

顧問の先生から、研究室の部屋を使用して出場できるチーム数や、ほかに借りられるかもしれない場所について説明がなされた。サークルが主体となって大学の施設を借りるのは現状不可能なため、どこでもいいから部屋を用意してほしいといったことを伝えた。

川内キャンパスに借りられるかもしれない場所があるそうなので、当日14:40から20:00まで借りたいと希望を出した。(これは少し短かった。当日15:00までのリハーサルのことを考えていなかった。)

川内と青葉山どちらから参加するか、あるいは別の場所で参加するかアンケートを取った。

10/23

川内キャンパスにあるマルチメディア棟の演習室を1部屋借りられることになった。

参加場所についてのアンケートを集計した結果、青葉山3、川内2、別の場所1という結果になった。

研究室のチーム3つもSlackに参加し、参加場所についてのアンケートに回答することになった。こちらは全チーム青葉山からの参加を希望した。

10/25

模擬国内予選当日。ほとんど強制するような形で全チームに参加してもらったが、当日別の予定があって参加できない人もいた。特に参加場所を指定したりはしなかった。

10/27

10/22に送った分の公欠届が返ってきたので、各人に分配して確認してもらった。

10/28

ICPC予選出場に関する誓約書について、情報が公開された。締め切りは11/02までなので、急いで周知した。

10/29

青葉山から都合6チームが参加することになって多すぎるという話になった。サークルのチーム1つが参加場所を川内キャンパスに変えた。これで残りは5チームだが、研究室の近くにもう1部屋借りられたらしいので、十分収容できるようだ。

10/29-10/31

誓約書の受理状況が公開されているので、コーチから教えてもらったチームIDを見つつ出していないチームと連絡を取った。無事全員提出できたことを確認した。

11/02

コーチから競技用IDとパスワードが送られてきた。

11/04

もう一通公欠届が必要だったが先生に頼むのを忘れていた。慌てて送信したところ、すぐに返信があって間に合った。

11/05

コーチから国内予選に関する連絡と予選・リハーサルに関する情報の2通のメールが送られてきた。

以上3つのメールをパソコンに保存しておくよう周知した。

各参加場所についての情報や注意点についてをまとめてSlackに投稿した。

11/06

国内予選当日。今年はサークル全体での打ち上げを一切行わなかった。

やった事

  • 参加するメンバーを決める。
  • コーチを顧問の先生経由で研究室の人にお願いする。
  • 研究室と人数の調整、合同チームの結成をする。
  • 研究室に参加場所の確保をお願いする。
  • ICPC公式サイトで個人アカウントの登録をする。
  • チーム編成とチーム名を決める。
  • 個人アカウントのメアドとチーム名をまとめてコーチに送る。
  • アカウントに情報を追加する。
  • 公欠届を用意する。
  • 模擬国内予選に出場してもらう。
  • 誓約書を提出する。(2020年のみか)

練習について

今年はサークル全体での練習を一切行わなかった。ただ、練習方法について個別に質問を受けたので、回答を全体に共有した。

練習の際は、Aizu Online Judge(AOJ)に提出するとよいです。

過去問一覧:http://aoj-icpc.ichyo.jp/

問題名の横についている星マークが多いものほど、いわゆる「良問」です。個人で練習する際はこれを参考にするとよいです。

チームで練習する際は、AOJのほうで過去問が年度ごとにまとまっているので、そこから1揃い使うのが良いです。

https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim

ICPC特有のシステムに慣れてもらうためにも、模擬国内予選には参加してもらうべきである。また、本番前のリハーサルも行うべきである。