atcoder#ABC264H. [ABC264Ex] Perfect Binary Tree
[ABC264Ex] Perfect Binary Tree
配点 : 点
問題文
頂点に の番号が付いた、 頂点の根付き木があります。 根は頂点 であり、頂点 について、その親は k=1,2,\dots,N$ に対し次の問題を解いてください。
番号が 以上 以下の頂点を、頂点 を含むようにいくつか選ぶ方法は 通りあります。 そのうち、選ばれた頂点集合から誘導される部分グラフの形状が頂点 を根とする (頂点数がある正整数 を用いて と表せるような) 完全二分木になるような頂点の選び方はいくつですか? 答えは非常に大きくなる場合があるので、 で割った余りを求めてください。
誘導される部分グラフとは?
あるグラフ から、一部の頂点を選んだ集合を とします。この頂点集合 から誘導される部分グラフ は以下のように構成されます。
- の頂点集合は と一致させます。
- その後、 に以下のように辺を追加します。
- を満たす全ての頂点対 について、 中に を結ぶ辺が存在すれば、 にも を結ぶ辺を追加する。
完全二分木とは?
完全二分木とは、以下の全ての条件を満たす根付き木です。
- 葉以外の全ての頂点が、ちょうど $2$ つの子を持つ。
- 全ての葉が根から等距離にある。
ただし、頂点が 1 つで辺が 0 本のグラフも完全二分木であるものとします。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
行出力せよ。 そのうち ( ) 行目には についての答えを整数として出力せよ。
10
1 1 2 1 2 5 5 5 1
1
1
2
2
4
4
4
5
7
10
- であるとき
- であるとき
- であるとき
- であるとき
- であるとき
- であるとき
が数えるべき頂点の選び方となります。
1
1
である場合、入力の 行目は空行です。
10
1 2 3 4 5 6 7 8 9
1
1
1
1
1
1
1
1
1
1
13
1 1 1 2 2 2 3 3 3 4 4 4
1
1
2
4
4
4
4
4
7
13
13
19
31