atcoder#ARC086C. [ARC086E] Smuggling Marbles

[ARC086E] Smuggling Marbles

题目描述

すぬけ君は N+1 N+1 頂点の根付き木を持っています。 この木の頂点には 0 0 から N N までの番号がついており、頂点 0 0 はこの木の根です。 頂点 i(1  i  N) i(1\ \leq\ i\ \leq\ N) の親は頂点 pi p_i です。

すぬけ君はこの木の他に、空の箱とビー玉を使って遊んでいます。 この遊びはいくつかの頂点にビー玉をそれぞれ 1 1 つ置いたのち、以下の手順で進行します。

  1. 頂点 0 0 にビー玉が置かれているならば、そのビー玉を箱に移す。
  2. 全てのビー玉を現在の頂点から親の頂点に(同時に)移す。
  3. 2 2 つ以上のビー玉が置かれている頂点それぞれについて、その頂点に置かれているビー玉を全て取り除く。
  4. ビー玉が置かれている頂点が存在するならば手順 1 へ、そうでなければ遊びを終了する。

ビー玉の置き方は 2N+1 2^{N+1} 通りあります。 これらそれぞれの場合について 遊びが終了したときに箱に入っているビー玉 の数を求め、その和を  mod 1,000,000,007 {\rm\ mod}\ 1,000,000,007 で求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N p1 p_1 p2 p_2 ... ... pN p_{N}

输出格式

答えを出力せよ。

题目大意

题目大意:

Sunke有一棵N + 1个点的树,其中0为根,每个点上有0或1个石子,Sunke会不停的进行如下操作直至整棵树没有石子:

把0上面的石子从树上拿走放入口袋;

把每个点上的石子移到其父亲上;

对于每个点,若其石子数≥ 2,则移除该点所有石子(不 放入口袋)。

求对于所有2N+12^{N+1}种放置石子的方案,最终Sunke口袋中石子数的和为多少,对1000000007取模。

1 ≤ N < 200000,有一部分数据满足1 ≤ N < 2000。

fromDOFY

2
0 0
8
5
0 1 1 0 4
96
31
0 1 0 2 4 0 4 1 6 4 3 9 7 3 7 2 15 6 12 10 12 16 5 3 20 1 25 20 23 24 23
730395550

提示

制約

  • 1  N < 2 × 105 1\ \leq\ N\ <\ 2\ \times\ 10^{5}
  • 0  pi < i 0\ \leq\ p_i\ <\ i

部分点

  • 400 400 点分のデータセットでは N < 2000 N\ <\ 2000 が成立する

Sample Explanation 1

頂点 1 1 と頂点 2 2 のどちらにもビー玉を置いたとき、手順 2 2 により頂点 0 0 に複数のビー玉が置かれてしまいます。このとき、これらのビー玉は取り除かれるため箱に移動されることはありません。

Sample Explanation 3

答えを   mod 1,000,000,007 {\ \rm\ mod}\ 1,000,000,007 で求めてください。