luogu#P7570. 「MCOI-05」多宇

「MCOI-05」多宇

题目描述

Dream 将时空抽象为一颗 nn 节点有向有根树,其中树根为节点 11 并且所有边的方向都为浅往深。
Dream 用他的超能力在这颗树上额外添加 mm 条有向边,但最终的图仍然是无环图。
Dream 进而将一个事件抽象为图上的一个节点,将一个时代抽象为图上的一个简单路径。
Dream 认为一对事件 (i,j)(i,j) 可行 当且仅当存在一个时代,使得时代的首事件是 ii,末事件是 jj
Dream 不满足于统计普通可行对。他认为超能力添加的额外边十分重要。
Dream 认为一对事件 (i,j)(i,j) 条件可行 当且仅当 (i,j)(i,j) 可行并且所有额外边去掉之后 (i,j)(i,j) 非可行。
Dream 现在有 qq 组询问。第 ii 组询问用两个正整数 lil_irir_i 表示,其中 liril_i\le r_i
Dream 想知道,对每一组询问,有多少对 条件可行 事件 (i,j)(i,j),使得 li<jrl\le i<j\le r

输入格式

第一行两个整数 n,mn,m
接下来一行 n1n-1 个正整数描述树的结构。第 ii 个数代表 i+1i+1 号节点的父亲的编号 fif_i,也就是说存在一个 fif_iii 的一条边。
接下来 mm 行,每行两个正整数 u,vu,v,表示一条 uuvv 额外添加的边。
接下来一个正整数 qq
接下来 qq 行,每行两个正整数 l,rl,r,表示一组询问。

输出格式

输出 qq 行,每行一个整数,表示对应组询问的答案。

2 2
1
1 2
1 2
1
1 2
0
8 2
1 2 5 1 4 3 3
2 4
4 7
3
4 6
5 7
1 8
0
1
4

提示

  • Subtask 1(3 pts):n,q1000n,q\le 1000,3s;
  • Subtask 2(29 pts):n,q2×105n,q\le2\times10^5m50m\le50,3s;
  • Subtask 3(31 pts):m50m\le 50,5s;
  • Subtask 4(37 pts):无额外限制,5s。

对于 100%100\% 的数据,2n7×1052\le n\le7\times10^51q3×1051\le q\le3\times10^50m1000\le m\le100