100 #lg5298. C70 线段树合并+概率论[PKUWC2018] Minimax
C70 线段树合并+概率论[PKUWC2018] Minimax
[AdditionalFile2537.zip](file://AdditionalFile2537.zip?type=additional_file)
#2537. 「PKUWC2018」Minimax
标签: 传统 | 时间限制: 1000 ms | 内存限制: 512 MiB |
题目描述
小 有一棵 个结点的有根树,根是 号结点,且每个结点最多有两个子结点。
定义结点 的权值为:
1.若 没有子结点,那么它的权值会在输入里给出,保证这类点中每个结点的权值互不相同。
2.若 有子结点,那么它的权值有 的概率是它的子结点的权值的最大值,有 的概率是它的子结点的权值的最小值。
现在小 想知道,假设 号结点的权值有 种可能性,权值第 小的可能性的权值是 ,它的概率为 ,求:
你需要输出答案对 取模的值。
输入格式
第一行一个正整数 ;
第二行 个整数,第 个整数表示第 个结点的父亲的编号,其中第 个结点的父亲为 ;
第三行 个整数,若第 个结点没有子结点,则第 个数为它的权值,否则第 个数为 ,保证 是个正整数。
输出格式
输出答案。
样例
输入
3
0 1 1
5000 1 2
输出
748683266
号结点的权值有 的概率是 ,有 的概率是 ,所以答案是 。
数据范围与提示
对于 的数据,有;
对于 的数据,有;
对于 的数据,有;
对于 的数据,有;
另有 的数据保证树的形态随机。
对于 的数据,有 ,。
对于所有数据,满足 ,所以易证明所有叶子的权值都有概率被根取到。