#M21. Delete a Tree
Delete a Tree
Background
在 Arahc 让你建树之后,他希望你把这个树删除。
Description
给定一个大小为 的树(节点从 开始编号到 ),其中 号点为根节点,对于其他点,每个节点 都有一个父亲节点 .
定义一个节点 的 级祖先为: 时为 本身; 时为 的 级祖先的父亲节点。
定义节点 的子树为:满足如下条件的所有节点 在原树上形成的结构: 使得 是 的 级祖先。
你想要直接删除 的子树来一步到位,但是你突然脑子一热,想要求出:如果每步等概率随机地选择树上一个未被删除的节点,并删除这个节点的子树,期望多少步能删除整个树?
Format
Input
第一行一个数 表示树的大小。
第二行 个数,第 个数表示 .
Output
仅一个实数表示删除整个树需要的步数的期望。没有小数位数限制,你的答案 与标准答案 的相对误差 不超过 即视为正确。
Samples
2
1
1.5
有 的概率一步删除 即整个树; 的概率删除 ,此时还需要一步删除 .
3
1 1
2
有 的概率一步删除 即整个树; 的概率删除 或 ,此时情况变为和样例 相同。
3
1 2
1.8333333333333
有 的概率一步删除 即整个树; 概率删除 ,此时还需额外一步删除 ;还有 概率删除 ,此时情况变为和样例 1 相同。
Limitation
1s, 256MiB.
本题采用捆绑测试和依赖测试。
子任务编号 | 依赖子任务 | 特殊性质 | 分值 | |
---|---|---|---|---|
1 | 无 | A | 10 | |
2 | B | |||
3 | 1,2 | 无 | 25 | |
4 | 1 | A | 15 | |
5 | 2 | B | ||
6 | 3,4,5 | 无 | 25 |
特殊性质 A:. 样例 1,2 符合特殊性质 A.
特殊性质 B:. 样例 1,3 符合特殊性质 B.