ARC161 開催記
前回 (ARC157) から約 3 ヶ月で ARC の writer をやったので,また感想とか元ネタみたいな当たり障りの無い話を綴っておこうかと思います.まだ問題を見ていない方は,ぜひご覧になっていただいて,できれば 1 問でも取り組んでいただけるととても嬉しいです.(定型文)
明日、対戦よろしくお願いしますhttps://t.co/ENZ8CYmgSj pic.twitter.com/Rwf6k2ASmu
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月27日
ARC161 おつでした~
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月28日
今回は証明セットです、解説を書くのがしんどかった…
A: 一番最後に作った、ARC161 なので 161 から
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月28日
B: 最後から二番目、ARC161 なので 161 から
C, E: ドナウ川沿いで降って来た、色々変種があったけど最終的にこの 2 個に
D, F: 前回 (ARC157) 時点で既にあった、実家、DM 分解を人々の記憶に刻みたい( D は 700 提案で 500 まで下がった、正しい…)
A. Make M
セットの中で最後に作った問題で,ARC161 なので 161 の特徴から捻り出しました.*1 前回の A 同様「割と簡単な必要十分条件をチェックするだけ」みたいな問題になって程良かったかなと思います.が,ちゃんと証明するのは意外と簡単ではなく,今回はセットを通してそういう問題で構成されていたので,そういう意味でもちょうど良い問題だったかなと思っています.以下の問題と考えることが似ているという説もあります.
のケースが割とネックだったようで,以下のように書くか,そもそも除いておいた方が親切だったかなと思いました.
今回の N = 1 は自明ケースなんだけど、「各偶数 i = 2, 4, ..., N - 1 について」を「 2 以上 (N - 1) 以下の各偶数 i について」と書いた方が良かったっぽい(意味は全く同じだけど)
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月29日
B. Exactly Three Bits
最後から二番目に作った問題で,これも 161 の特徴から作りました.提案時は A (300) のつもりだったのですが,「 B (400) じゃないか?」と言われてそうなりました.公式解説の 2 が想定解のつもりで提案したのですが,「 1 が簡単では?」と言われて目から鱗でした.contestant の感想でも散見されましたが,実は writer も同じ感想を抱いていたという裏話です.
Bで60^3個列挙してしまうの、言われてみるとそれはそうでびっくり
— heno (@heno_code) 2023年5月28日
C. Dyed by Majority (Odd Tree)
このセット唯一(?)の実装問です.直観的に自然な方法をやるだけですが,細部をちゃんと実装して合わせるのが地味に大変かもしれません.元ネタは分散計算モデルにおける合意形成(こちらなど)です.問題 E とセットでの出題ですが,他にも色々候補はありました.たとえば「 回操作した後の状態を出力せよ」みたいなものも考えたのですが,閉路ぐらいでしか解けなかったので諦めました.
D. Everywhere is Sparser than Whole (Construction)
エスパーかつ証明 AC しやすい問題でしたが,ここまで C と逆転するとは思っていませんでした.初動でだいぶ差が付いてしまったので,こちらに取り組んだ人が多かったのかもしれません.厳密に証明するはそんなに簡単ではない(と思う)ので,当初は 700 点提案でしたが,さすがに過大っぽいということで 600 点に下げて,最終的に 500 点( C と同じ)まで下がりました.admin & tester の皆様,ありがとうございます.
公式解説が文章だけで分かりづらい場合は,サーバルさんが描いてくれた図を見るとよいかもしれません.ありがとうございます.
サーバル「これでどう?」 pic.twitter.com/BFlCQnpy2T
— 競技プログラミングをするフレンズ (@kyopro_friends) 2023年5月31日
また,別の方針で示す方が楽という説もあります.
carrot46 さんの反例の証明中にもあったけど、「連結な正則グラフの誘導部分グラフ(非空かつ非全体)の密度は全体の密度未満」を示す方が楽かも
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月31日
以下: 任意の頂点について、部分グラフでの次数は元の次数以下
未満: 元が連結なので、誘導部分グラフに含まれない(集合を跨ぐような)辺が 1 本以上ある
E. Not Dyed by Majority (Cubic Graph)
今回の自信作&問題児です.問題 C とともに変種を色々考えていて,「次数 3 なら 2-SAT で解けるなあ」と思い,テストケースを作ろうと実験してみたら…という感じでできました.ジャッジの方法をそのまま出題するのに比べて程良い迷彩になっていて,良い難易度になったのではないかと思います.提案時に「信じる心が試される」というコメントをもらったのが面白かったです.
しかし解説をちゃんと書くのがとても大変でした.公式解説の補足まで全部読んだ人は誰もいないのでは?という気もしていますが,慣れない計算を頑張ったので自分のリハビリにもなりました.Chernoff bound とか触ったの何年ぶりだろう….このセット全体の準備時間の半分以上をこの問題の解説(証明を考えるところから書き上げるまで)に使ったと思います.*2
F. Everywhere is Sparser than Whole (Judge)
専門分野からの布教問題です.DM 分解 (Dulmage‒Mendelsohn decomposition) の気持ちに通じているか,最密部分グラフ問題が最大流で解けることを知っているかすれば,それなりに一本道なんじゃないかなと思います.最密部分グラフそのままだと面白みが無いので,ちょっと捻ろうと考えていたら生まれました.順番としては,問題 D の方が後(「問題 F をジャッジとする問題も出題できるな?」と思ったという流れ)になります.
皆が密グラフ抽出の話をしていて、これまで普及に努めてきた者としては幸甚の至りです🥹@ygussany さんに感謝🙏
— Atsushi Miyauchi (@Atsushi_Miyauci) 2023年5月31日
この本に結構ちゃんと載ってたね pic.twitter.com/BmHfieoZko
— ⚫️Y.Y.⚪️ (@ygussany) 2023年6月1日
tester の tatyam さんに次数貪欲の近似解法で AC されたので,それ(+乱択)を落とすようなケースを追加したつもりだったのですが,自分の乱択が不十分で結構突破されてしまいました.これは残念….後に carrot46 さんから撃墜ケースを教えていただき,after_contest として追加したので,嘘貪欲で通した人はぜひ WA になってみてください.
k>=5に対し、D=4,N=2k+1(頂点を1,2,...,2k,xで表す)のグラフを構築する。
— carrot46 (@carrot46_kyopro) 2023年5月30日
1からkの頂点間に単純2D-正則グラフをなす辺を張り、1辺だけ取り除く(辺(1,2)を取り除いたとする)。
k+1~2kも同様(辺(k+1,k+2)を取り除く)。
xは1,2,3,4,5,k+1の6頂点と結ぶ。
この時、{1,2,...,k,x}は密度Dである(続く) https://t.co/EHPpByZS8Z
ARC161-F で carrot46 さんに教えていただいたケースを after_contest として追加しました
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月31日
「次数最小の頂点をランダムに取り除いていきながら残りの密度を確認する」を繰り返すアルゴリズムを撃墜しますhttps://t.co/JYCM4zlulj
まとめ
今回も admin の maroonrk さん,tester の tatyam さんと potato167 さん,翻訳の evima さんには準備段階から大変お世話になりました.ありがとうございます.
開始前の writer 予想 diff は 400-600-1400-1600-2800-3200 で,実際は 285-563-1746-1379-3136-3106 でした.今回はかなり良い線行ってたんじゃないかなと思いますが,C, D の逆転と,F の嘘貪欲を落としきれなかったのが想定外でした.
前回の最後にも載せましたが,理想は 3-4-5-6-7-8 なので,そのうちまた書いてみたいと思います.対戦よろしくお願いします!
3-4-5-6-7-8 の ARC 書きたい
— ⚫️Y.Y.⚪️ (@ygussany) 2022年10月9日
追記
そういえば,開催が決まってから ARC160, AGC062 がありましたが,あわや黄落ちするんじゃないかとドキドキしながら出ていました.
ygussanyさんのAtCoder Regular Contest 160での成績:163位
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月14日
パフォーマンス:2345相当
レーティング:2412→2405 (-7) :(#AtCoder #ARC160 https://t.co/RFwHbsKU4q
YABAI
ygussanyさんのAtCoder Grand Contest 062での成績:141位
— ⚫️Y.Y.⚪️ (@ygussany) 2023年5月21日
パフォーマンス:2480相当
レーティング:2405→2413 (+8) :)#AtCoder #AGC062 https://t.co/DqhqQgHf3s
助けてくれ