次数の条件がついた なもり木 のより善い数え方
CODE FESTIVAL 2017 Elimination Tournament (名前が長い!) の F 問題 の想定解よりも善い解法です. atcoder.jp
問題概要
以下の条件を満たすような 頂点の無向グラフは何通りあるか.(頂点は区別する)
- グラフは単純で連結
- 頂点 の次数は
の総和が のとき(つまり,グラフが木のとき),答えは である.
では, の総和が のとき(つまり,グラフが俗に言う「なもり木」*1のとき) はどうか?
想定解は ですが,実は で解くことができます.
*1:「なもり」という漫画家がおり,Twitterでのアイコンがグラフに似ていることから.
奇分割と異分割の間の1対1対応
ブログを書く練習がてら軽く.
分割って?
正の整数 の,いくつかの正の整数の和としての表し方を「分割」といい,個々の正の整数を「因子」という.たとえば, の分割は
の 通り.因子を並べ替えただけの分割(たとえば と ) は同一視する*1.
分割の中でも特に,因子がすべて奇数のもの(e.g. )を「奇分割」,因子が相異なるもの(e.g. )を「異分割」と呼ぶ.実は任意の について, の奇分割と異分割は同数である.オイラーはこのことを母関数から示し,その式は「オイラーの分割恒等式」と名付けられているが,ここでは小学生でも理解できるよう,簡単な1対1対応を与えることにする.
*1:因子の順番も考慮するようなものは「合成」とか「結合」と呼ばれる別の概念となる.