うにゅーん、って感じだ

だいたいのコンテストサイトで橙か赤です、よく C#を書きます。

JAG の 2024 年 (WIP)

これはなに

備忘録です。特に公開しても問題なさそうな範囲で書いているつもりではありますが何かあればご連絡ください。

また、ほとんどを rian_tkb 視点で書いています。一応コンテスト責任者という立場で各種動き出しの部分や進捗管理やセット全体の品質管理などを担当しており、主に名前がついていないような細々した「それ以外全部」に該当する部分のタスクをやっています。 一部ほかの人に委譲しており、特に夏合宿予約周りは tsutaj に引き継いだ後記憶を失っているので薄いかも。

本当は一気に一年分書くつもりだったのですが時間がなかったのでいったん模擬国内まわりまで書いてあります。追記予定。



2023-09-18(夏合宿 2023 day 3)

オリセン予約

tsutaj 2023-09-18 11:47:53
来年の夏合宿の仮予約をしました。スタッフとして参加したい方は予定をあけておいてください!
• 日程:2024/09/14〜16
• 場所:オリンピックセンター
来年は 2 日目に懇親会を実施する方向で進んでいます

来年の夏合宿のためにオリセンを予約します。

nyc.niye.go.jp

オリセンは利用日の一年前から予約でき、ぼーっとしてるとわりと予約埋まりがちなのでこのタイミングでするのが安牌です。 特に大部屋の大きさは変えられないので、参加人数を見誤るとこまります。

2023 年分はこの施設予約周りも自分がやっていたんですが、2024 年分および 2025 年分は tsutaj に任せています。

2024-05-12

日程調整 (2024-05-01)

rian 2024-05-01 20:47:11
模擬国内予選に向けた日程決めおよび問題選定を目的とした会議を行いたいと考えています。
つきましては、以下のリンクから日程調整にご協力をお願いします。

問題案の不足が予想されますので、問題案の追加、推薦もよろしくお願いします。
問題案の追加方法に関しては以下のページを参考にしていただき、わからない部分等ありましたら slack にてお気軽にご質問ください。

rian 2024-05-01 20:52:34
上の会議は活動会議も兼ねるつもりです。具体的には年間計画についての共有、意見募集と役職の更新(やってくれる人がいれば)などを予定しています。

国内予選本番の日程が決まったあたりで動き出します。具体的にはまず会議の日程調整をします。

活動会議

年間計画

rian 2024-05-12 19:21:47
ではまずは 2024 年の活動会議から始めていこうと思います(見ながら引き続き問題案への投票等していただいて問題ありません)

rian 2024-05-12 19:23:06
JAG では毎年「模擬国内予選」「夏合宿(or 模擬地区予選)」という 2 つのコンテストを開催していて、今年も同様となることを予定しています

会議をします。

そういえばここで夏合宿と WF がかぶっていることが発覚しました。

rian 2024-05-12 19:25:52
昨年までと一つ異なる点としてプレーオフが存在するのですが、こちらの模擬コンテストに関しては以下の理由から開催しない方針で行こうかなと考えています。
• シンプルに準備が大変
• 模擬地区予選との差別化点がほとんどない(本番のシステム含め)

rian 2024-05-12 19:26:33
(めちゃくちゃやる気ある人がいれば開催しても良いかなとも思っているのでめちゃくちゃやる気ある人がいれば……)

プレーオフ(でいいんですかね、まだいまいち何と呼べばいいのかわかっていない)へのスタンスは現状これです。来年度以降どうなるかはわからないですが、少なくとも今年度は模擬プレーオフはやらないかな……

役職引継ぎ

rian 2024-05-12 19:31:08
じゃあ続いて役職引き継ぎに移ろうと思います

rian 2024-05-12 19:34:22
個人的には、いま自分がやっているプロジェクトリーダーに関して、誰か手伝ってもらえるとありがたいなぁと思っています。
今月が特に本業がかなり忙しくなりそうなので、JAG の模擬コンテストに関してある程度わかってる人に手を動かす部分をすこし肩代わりしてもらいたい気持ちがあります

(中略)

rian 2024-05-12 19:41:25
プロジェクトリーダーに関してはできそうな人に積極的にいろいろな仕事を振りまくることでなんとかしようと思います(みなさんご協力お願いします)

役職引継ぎに、失敗……

模擬国内会議①

日程決定

rian 2024-05-12 19:44:52
まず模擬国内の日程に関して

rian 2024-05-12 19:45:46
icpc 本番は 7/5 (金) だそうです
https://icpc.iisf.or.jp/2024-yokohama/domestic/

まず日程を決めます。国内予選本番は大体金曜なのでその 2 つ前の土日(今回だと 6/22, 23)を第一候補に、以下のイベントを調べてかぶらないようにしています。

  • TOEIC
  • 主要な大学の学祭
  • コンテスト(特にオンサイト、予選、本選など)

今回の場合は、以下のイベントが確認されたので、6/29(土)になりました。

  • 6/19 - 24:Universal Cup Summer Summit (Semifinals)
  • 6/23(日):TOEIC
  • 6/29 - 30:ICFPC

ちなみに、特に AtCoder に対してはなにか非公開のイベント等とかぶってないかを確認しています。以前は知ってそうな人に DM で聞いていたんですが、やはり忙しいらしく最近はお問い合わせフォームから聞いています。

問題選定

rian 2024-05-12 19:01:36
さっき帰宅したばかりで準備が全然できてないのですこし準備させてください。

その間にやっていただきたいこととして「問題案の推薦(投票)」があります。
具体的には、模擬国内で使う問題について以下のスプレッドシートから推薦を行ってください
推薦方法に関してわからなければこちらのページを参照してください

問題選定をします。具体的には内部で管理されている問題原案を各人が推薦することで選定していきます。

特に国内予選形式の場合、以下の制約を受けるので採用できる問題に制限があります。

  • 実行時間制限を設けられない
  • 入力ファイルのサイズ制限
  • 出力ファイルのサイズ制限
rian 2024-05-12 20:33:19
とりあえずいまある問題案だとあまり(特に F, G に)適切そうな問題がないのと、まぁそれくらいの問題なら待てば案が出てくる気もするので、来週また会議してそのタイミングで残り 4 問決めましょうか

JAG では問題案が枯渇しており、この日は 4 問しか埋まらなかったそうです。残りは来週にもう一度会議を行うことで決定します。

ログを見ると最終的に D, F, G, I に割り当てられた問題がこの日に採用されたようです。

意外かもしれないですが、最近は一部の人々の努力によりボス問がなくて困るということは比較的少なくなってきました。本当にありがたい限りです。一時期は毎回異常幾何を(自分が)用意してなんとかセットとしての体を保っていたのを思い出すと、圧倒的改善……。

2024-05-19

日程調整 (2024-05-14)

rian 2024-05-14 18:25:55
今週末に模擬国内予選に向けた会議を行いたいと思います。
つきましては、以下のリンクから日程調整にご協力をお願いいたします。

一部問題案が不足しておりますので、問題案の追加、推薦もよろしくお願いいたします。

します。

模擬国内会議②

残りの問題を埋めます。原案を出してくれそうな人に圧力をかけることで(+自分でも多少出すことで)原案不足をなんとかします。

rian 2024-05-19 13:29:00
A 問題っぽい問題がおそらくないので、いまここで作れば高確率で採用されると思うのでぜひどうぞ
(wiki に清書するのはあとにしてここに適当に書き込むでも良いです)

意外かもしれないですが毎回序盤の問題案がなくて最後の最後にその場で提案されて決まることが多いので、レートが高くない人も A 問題や B 問題を提案すると高確率で採用されるのでおすすめです。

あとはログを見たら H 問題(物理実験)を TLE 解法で通されないようにどうすればいいか、という議論をしていました。結局は特に改題せず本番 1 AC になっていたので大丈夫だったっぽい?

rian 2024-05-19 14:42:09
そうしましたら議事録の方に転記しましたので、担当に入っていただける方は名前を入れてください

rian 2024-05-19 14:43:42
データセット担当の作成するもの: 入力データセット・入力検証器・(出力検証器)・解答プログラム
問題文担当の作成するもの: 問題文・入力検証器・解答プログラム

あくまでメインの担当になるだけで、他の人も generator の追加や問題文の校正などの補助には入ります

初めての人でも教えるのでぜひお願いします(A, B 問題あたりは準備が楽なはずなのでおすすめです)

問題が決まったら担当を決めます。

といっても会議中に半分以上決まったらいいほうで、誰も入らずに放置された担当箇所は後々にベテランに処理してもらってなんとかしています。

準備開始

この日にすでに準備を開始していたようです。えらい。

具体的には以下をしていました。

  • 内部ページ、各問題のチャンネル、githubgoogle docs などの作業環境の整備
    • ログをよく見たら後半 2 つはもう少し後だったかも
  • スケジュール引き
    • 実際にはこの通り進むことは少なく、内部コンテスト時には全然未完成だったりコンテスト開始してから解説を書き始めたりしてします……。
〜 6/9 問題の仕様の整理、簡単なデータセット (サンプル、雑ランダム程度)、各種検証器の完成
〜 6/16 ジャッジ解、問題文仮完成、校正開始
〜 6/22 データセットの補強、校正担当者の校正とその修正が1度以上行われる
〜 6/22 or 23 内部コンテスト
〜 6/29 フィードバックを受けて修正、解説作成、本番
  • 日時確定、公開用ページ作成、Twitter での告知

~ 2024-06-23

模擬国内準備

ひとまず内部コンテスト(JAG 内部での test-run、模擬模擬コンテスト)までに最低限形になっていることが条件なので、それを目指して準備を始めます。

「最低限形になっている」の定義はおおまかに以下です。

  • だいたい正しく解釈できる問題文が用意されている
  • サンプルが一つ以上存在する
  • だいたい妥当な制約が設定されている
  • ランダムケースだけでも良いのでテストケースが存在する
  • 想定解のコードが存在する

これらを各問題の担当に入った人が各々の進め方で用意していきます。 JAG 内部での知見や使われているコードなどもないわけではないですがここでは割愛します。気になる人は JAG 内部で聞いてください。

rian 2024-05-25 16:36:05
まだ [github repo] が無なんですが、今日中に最低限整えて作業してもらえるようにする予定です

rian 2024-05-25 19:26:38
[github repo] を一応最低限整備しました,具体的には以下をしました
• 各問題のフォルダの作成
• statements-manager の設定
• H の問題文作成(statements-manager で問題文を書くのの参考に)
• README に statements-manager 周りの簡単な使い方記載
    ◦ rime 周りは力尽きて書けなかったんですが,わからない部分は聞いてください
このあと余力があれば参考になるように A か B のごく簡単なテストケースを作るかもしれないです

各問題に閉じないタスクもいくつかあるのでやっていきます。まずは各種設定や環境を用意する部分。色々手作業が多いので自動化していきたい……(年に数回しかやらないので毎回手作業に甘えてしまう)。

この辺で問題数や提出方式の変更についてのアナウンスがありました。びっくり。

rian 2024-06-21 18:43:44
マジで今週時間が取れずマジでやばいんですが、とりあえず一問追加はしたい気持ちがあります
とりあえず一問案を置いておきました
他に既存の問題案での推薦や新たな問題案の提案など募集中、今日中には少なくとも問題案は固めたい気持ちがあります

たまたま自分が仕事でこの時期ほとんど東京にいなかったのもありこの辺への対応が遅れて、追加の問題が決定したのは 6/21 あたりでした(ちなみにここで追加されたのは B 問題でした)。

icpc.iisf.or.jp

また、模擬国内では実行委員会から予選システムを借りてコンテストを行っているため、予選システムを借りていい感じにアクセスできるように設定するなどします。 この辺は JAG のサーバー周りを管理してくださっている shora さんにお任せしています。

rian 2024-06-23 01:33:08
諸々時間が取れておらずすみません、とりあえず内部コンに向けた校正や体裁を整える部分などを今から行います。
(すでに皆さんにかなりやっていただいていることは把握しています、ありがとうございます 🙇)
それとログを見た感じ入力サイズや想定解の実行時間についてはいくつか気になるところがあるので、内部コンには間に合わないかもしれないですが少し提案をしたりするかもしれません(議論はなんとなくは追っているのですでにかなり頑張って調整いただいていることは承知の上ではありますが…)

rian 2024-06-23 01:34:00
*Thread Reply:* 作業状況スレ

rian 2024-06-23 01:34:56
*Thread Reply:* • :funini_done: 手元で rime test 実行(全然おわんねえ…)
• :funini_done: 問題文の校正、提案の処理
    ◦ :funini_done: とりあえず一通り校正
    ◦ :funini_done: html 出力してみて確認,修正
        ▪︎ :funini_done: C 問題の数式が全然反映されておらず,困った(html の書式で再現してるだけで存在しないものがあるからかなぁ)→ 多分直った
• :funini_done: 新 B 問題の問題文作成
• :funini_done: 問題 ID の振り直し

(中略)

rian 2024-06-23 06:39:36
新 B 問題をとりあえず形にして(darsein さんありがとうございます 🙏)問題 ID 振り直しました

rian 2024-06-23 06:40:32
現状の問題文はこの辺のファイルをブラウザで開くと見れます,何かおかしなところや直したいところなどあれば言ってもらえれば

セット全体の進捗管理、品質管理などを自分が担当しているんですが、たまたま仕事が忙しい時期とかぶってしまいこの辺が壊滅していました(一部 darsein さんなどに巻き取っていただきました)。 内部コン前日の深夜に無理矢理時間を作ってなんとかしていきます。

2024-06-23

内部コンテスト

JAG の内部でテストランをしてもらいます。 実際のコンテストサイト等を使うわけではなく、rime を使って自己採点をしてもらう方式を取っています。

ほぼ毎回 hos さんが参加してくださるんですが、毎回一人でちょうど本番 1 位相当くらいの完答数をたたき出してくださって大変助かっています。

~ 2024-06-28

模擬国内準備

内部コンテストでのフィードバックを受け、調整などをしていきます。

rian 2024-06-28 02:26:12
寝落ちから目覚めたので最終調整をします,主には以下
• I の制約調整
    ◦ 結局このままの制約にして,場合によってはデータセット公開時におすすめの TL 設定について但し書きしておく方向性を検討中
• G の制約調整
    ◦ n <= 1500 になっているのを確認しました,🙏
• 問題順の変更
    ◦ 👍 がいっぱいついているので ABGDCEFHI にしようかなと思います.意見あれば今なら調整可
• その他最終確認

rian 2024-06-28 02:59:44
*Thread Reply:* • :funini_done: CI を見て落ちてるの確認,調整

rian 2024-06-28 03:11:56
*Thread Reply:* • :funinidone: 問題順変更
• :funinidone: 問題文中の ID 変更

rian 2024-06-28 03:22:45
*Thread Reply:* • :funini_done: TODO: 問題文確認,提案受け入れ

rian 2024-06-28 05:11:41
*Thread Reply:* • :funini_done: 本番用(装飾のない)問題文生成

実は rime 上で問題ができていれば終わりでなく、問題文をコンテストシステムに合わせて組版したり、スペシャルジャッジの場合コンテストシステムに合わせた形式でジャッジが書かれている必要があったりするのでやります。

2024-06-28 ~ 2024-06-29

模擬国内 リハーサル

リハーサルを開始します。特に模擬国内に関してはリハーサル用のデータ等は使いまわしの部分がある程度多いので、特別な準備はそこまで多くないです。

mtsd 2024-06-28 22:49:50
解説の置き場ってすでに用意されてたりしますか?

rian 2024-06-28 22:50:23
用意されていません/今から用意します,5分くらい待ってください

mtsd 2024-06-28 22:50:55
急かしてすみません

rian 2024-06-28 22:53:27
解説を書いてくださる方は,
• [link] に名前を書く
• 解説スライドを作って [link] に置く
でお願いします

この辺で解説スライドを用意し始めます。

模擬国内本番

以前までは予選システムだけ借りて運用は JAG 側でやっていたのですが、今年は JAG では問題セットのデータを連携するところまでを担当し、ジャッジシステムの運用は実行委員会側に任せる形になっていました。

障害が発生しました。かなりアバウトに紹介すると、DB の初期化周りのミスだったようです。

模擬コンテストには選手側の練習機会だけでなく、こういうことが本番で起きないための運営側の予行演習という意義もあります。

コンテスト終了後、各種撤収して予選システムを返却、統計情報や解説のアップロード等をすると作業としては完了です。


つづきはごじつかきます……