#7036. 树上游走

树上游走

题目描述

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

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

输入格式

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

输出格式

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

PQmod109+7PQ'\bmod {10^9+7}

其中 QQ1(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\% 的数据,1n2001\leq n\leq 200
  • 对于 60%60\% 的数据,1n50001\leq n\leq 5000
  • 对于 100%100\% 的数据,1n1000001\leq n\leq 100000