QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 256 MB Total points: 100

#17227. Dynamic Instability

Statistics

Farmer Nhoj has trapped Bessie on a rooted tree with $N$ ($2 \le N \le 2 \cdot 10^5$) nodes, where node $1$ is the root. Scared and alone, Bessie makes the following move each second:

  • If Bessie's current node has no children, then she will move to a random ancestor of the current node (excluding the node itself).
  • Otherwise, Bessie will move to a random child of the current node.

Initially, Bessie is at node $x$, and her only way out is the exit located at node $y$ ($1\le x,y\le N$). For $Q$ ($1 \le Q \le 2 \cdot 10^5$) independent queries of $x$ and $y$, compute the expected number of seconds it would take Bessie to reach node $y$ for the first time if she started at node $x$, modulo $10^9+7$.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line contains $N$ and $Q$.

The next line contains $N-1$ integers $p_2, \ldots p_N$ describing the tree ($1\le p_i< i$). For each $2 \le i \le N$, there is an edge between nodes $i$ and $p_i$.

Each of the next $Q$ lines contains integers $x$ and $y$ representing the nodes for that query.

OUTPUT FORMAT (print output to the terminal / stdout):

For each query, output the expected number of seconds for Bessie to reach node $y$ for the first time starting at node $x$, modulo $10^9+7$.

SAMPLE INPUT:

5 5
1 2 2 1
1 1
2 1
3 1
4 1
5 1

SAMPLE OUTPUT:

0
4
3
3
1

In the $1$st query, the expected time to reach node $1$ from itself is $0$.

In the $3$rd query, after $1$ second, Bessie will be at node $1$ with probability $\frac{1}{2}$ and at node $2$ with probability $\frac{1}{2}$. Since the expected time to reach node $1$ from node $2$ is $4$, the expected time for Bessie to reach node $1$ starting at node $3$ is $1 + \frac{1}{2} \cdot 0 + \frac{1}{2} \cdot 4 = 3$.

SAMPLE INPUT:

5 5
1 2 2 1
1 1
1 2
1 3
1 4
1 5

SAMPLE OUTPUT:

0
3
500000011
500000011
6

In the $3$rd query, the expected time to reach node $3$ from node $1$ is $\frac{15}{2}$.

SAMPLE INPUT:

13 10
1 2 2 4 3 1 5 6 4 7 8 10
1 12
10 6
5 12
1 13
13 10
6 4
7 12
3 1
12 8
2 1

SAMPLE OUTPUT:

166666700
21
2
166666701
500000023
18
166666704
750000018
800000021
500000018

SCORING:

  • Inputs 4-8: For all queries, $y=1$.
  • Inputs 9-13: For all queries, $x=1$.
  • Inputs 14-18: For each $2 \le i \le N$, $p_i$ is uniformly randomly chosen from the range $[1, i-1]$.
  • Inputs 19-23: No additional constraints.

Problem credits: Avnith Vijayram

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.