#P389. 树上游走

树上游走

题目描述

所谓随机游走,是指从一个指定的起点出发,随机地(以相等的概率)从当前点的邻居中选取一个点,移动到该点,不断重复上述过程,直到走到指定的终点为止。

给定一棵 nn 个点的树,11 号点为根。请计算,在起点与终点都是随机选取的情况下,完成一次随机游走,期望需要多少步?

输入格式

第一行:单个正整数 nn。 第二行:n−1n-1 个正整数 p2,p3,⋯ ,pnp_2,p_3,\cdots,p_n,表示 22 号点到 nn 号点的父亲编号,保证pi<ip_i< i。

输出格式

设需要输出的有理数为 P/QP/Q,且 PP 和 QQ 互素,则输出一个整数,具体数值为

PQ′ mod 109+7PQ'\bmod {10^9+7}

其中 Q′Q≡1(mod109+7)Q'Q\equiv 1\pmod {10^9+7}。

3
1 1
777777785

样例解释 1

1->1、2->2、3->3:期望0步 2->1、3->1:期望1步 1->2、1->3:期望3步 2->3、3->2:期望4步 平均期望:16/9

数据范围

  • 对于 30%30\% 的数据,1≤n≤2001\leq n\leq 200;
  • 对于 60%60\% 的数据,1≤n≤50001\leq n\leq 5000;
  • 对于 100%100\% 的数据,1≤n≤1000001\leq n\leq 100000。