虹色全域有向木予想

前回の更新から約 2 年半ぶりの更新になります.信じられない…

この記事は 木 Advent Calendar 2025 の 9 日目の記事になります.参加者を絶賛募集中です.

木ということで,最近の面白研究ネタの紹介をしたいと思います.組合せ数学の話なので予備知識はあまり要りませんし,競プロer も必見*1 です.

虹色集合

皆さんは虹🌈が好きですか?好きですよね,分かります.

組合せ数学では,集合の要素がいくつかの色で塗り分けられているときに,要素の色が相異なるように選んだ部分集合のことを虹色 (rainbow) と呼ぶことがあります.*2

まずは簡単な例を見てみましょう.突然ですが,次のような予想が知られています.

予想 1 (Ryser–Brualdi–Stein 1967)

 n を奇数とする. n \times n の任意のラテン方陣(各行各列に  1 から  n の整数がちょうど 1 回ずつ出現する正方行列)に対して,各行各列各整数からちょうど 1 つずつになるように合計  n 個の要素を選べる.

たとえば,下の図 1 は  5 \times 5 のラテン方陣の一例です.行ごとに見ても列ごとに見ても整数ごとに見てもちょうど 1 つずつになるように  5 個の要素を選べるでしょうか?

図 1.   5 \times 5 のラテン方陣の例

*1:特に最後らへん.

*2:各色の要素をちょうど 1 つずつ含むとき,横断 (transversal) と言ったり,代表元の集合 (set of representatives) と言ったりもします.

続きを読む

ARC161 開催記

前回 (ARC157) から約 3 ヶ月で ARC の writer をやったので,また感想とか元ネタみたいな当たり障りの無い話を綴っておこうかと思います.まだ問題を見ていない方は,ぜひご覧になっていただいて,できれば 1 問でも取り組んでいただけるととても嬉しいです.(定型文)

続きを読む

ARC157 開催記

お久しぶりです,Y.Y. (@ygussany) です.競プロを始めて 3 年弱で,2 年半ほど延々と AtCoder のコンテストに contestant として出続けていた訳ですが,ついに AtCoder Regular Contest (ARC) の writer を務めることができました.ということで,感想とか元ネタみたいな当たり障りの無い話を綴っておこうかと思います.まだ問題を見ていない方は,ぜひご覧になっていただいて,できれば 1 問でも取り組んでいただけるととても嬉しいです.(定型文)

続きを読む

yukicoder contest 305 開催記

yukicoder で単独 writer コンテストを開いたので,感想や裏話などを綴っておこうかと思います.まだ問題を見ていない方は是非ご覧になっていただいて,できれば 1 問でも取り組んでいただけるととても嬉しいです.

f:id:ygussany:20210722200838j:plain

続きを読む

Y.Y. の Y は Yellow の Y ではなかった

年末の「色変記事 Advent Calendar 2020」「Y.Y. の Y は Yellow の Y」という記事を書いてから,半年弱が経過しました.その末尾に今後の目標として

  • 今年中に橙を埋めること
  • 半年後ぐらいまでに橙になること

を挙げていたのですが,宣言通り両方達成することができ,めでたく当該記事のタイトルを嘘にすることができました.謹んでお詫び申し上げます.

f:id:ygussany:20210523231703j:plain

今後は Y.Y. 改め DaiDai として活動を続けていこうと思います.

f:id:ygussany:20210524181732j:plain

嘘です.当日の夜だけ浮かれてスクリーンネームを DaiDai にしていました.お祝いいただいた皆様,ありがとうございました.

続きを読む

Permutation Oddness が解けるまで

橙埋め最後の砦となっていた問題が解けたので,解けるまでの思考を書いてみます.解けたと言っても,準犯罪 AC のような感じですが,想定解法 *1 と全然違う多項式時間アルゴリズムを作って面白かったというのもあります.ひたすら別解の話を書くだけなので,綺麗な想定解法を知りたい方はこちらへどうぞ.

問題概要

 \{1, 2, \dots, n\} の順列  p = (p_1, p_2, \dots, p_n)奇妙さ\sum_{i = 1}^n |i - p_i| で定義する.奇妙さが k であるような  \{1, 2, \dots, n\} の順列の個数を求めよ.*2

*1:箱根駅伝 DP というやつらしいです.シンプルで感動しました.

*2:正確には 10^9 + 7 で割った余りを求める問題ですが,特に重要ではないので省きます.

続きを読む