問題はこちら
問題概要
以上以下の整数からなる長さの整数について,,という数列にちょうど一度だけ現れる数の種類をとする.として考えられる個の数列全てにおいてを求め,その総和をで割った余りを求めよ.
解説
対称性から、頂点を基準に考えて最後に倍することにします.公式解説のようにグラフの問題として考えます.
すべてのFunctional Graphに対する「頂点から辺を辿ったとき,ちょうど回頂点を訪れるようなの数」の総和が答えになります.
あるグラフに対して,ちょうど回頂点を訪れるようなはどのようになるのか考えてみましょう.
以下のように,赤の頂点をとして選ぶと頂点をちょうど回訪れることが分かります.
赤い頂点からなる部分グラフは頂点を根とする木となっていることが分かります.また,「頂点をちょうど回訪れる」という条件を満たすためには頂点から赤い頂点以外の頂点に辺が張られている必要があります.
以上のことから「ちょうど回頂点を訪れるようなの数」がとなるようなグラフは次のように作ることができます.
- 頂点を除く個の頂点から個を選ぶ
- 選んだ個の頂点と頂点を用いて木を作る
- 残りの個の頂点から個の頂点を選び,頂点から辺を張る
- 個の頂点から個の頂点に向かう辺を適当に張る
これらの選び方の数はそれぞれ以下のようになります.
- (ケイリーの公式)
したがって,最終的なこの問題の答えは
となります.任意modの二項係数を求める必要があることに注意してください.