P10421 [蓝桥杯 2023 国 A] 树上的路径

题目描述

给定一棵包含 $n$ 个结点的树,树的每条边的长度均为 $1$。求这棵树的所有长度在 $L\sim R$ 之间的路径的长度之和。两条路径经过的边集完全相同时视作同一条路径。 也就是求 $\sum\limits_{i=1}^n{\sum\limits_{j=i+1}^{n}{dis(i,j)\cdot[L \le dis(i,j) \le R]}}$,其中 $dis(i,j)$ 表示结点 $i$ 和结点 $j$ 之间的距离,$[C]$ 表示条件 $C$ 满足时取 $1$,不满足时取 $0$。

输入格式

输入的第一行包含三个整数 $n, L, R$,相邻两个整数之间使用一个空格分隔。 接下来 $n−1$ 行,每行包含一个整数,其中第 $i$ 行的整数 $F_i$ 表示第 $i+1$ 个结点在树上的父亲结点。结点 $1$ 是根结点,没有父亲结点。

输出格式

输出一行包含一个整数表示答案。

说明/提示

**【评测用例规模与约定】** 对于 $40\%$ 的评测用例,$n\le 2000$; 对于所有评测用例,$1\le L\le R\le n\le 10^6$,$1\le F_i\le i$。