CF280C.Game on Tree
提高+/省选-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Momiji has got a rooted tree, consisting of n nodes. The tree nodes are numbered by integers from 1 to n. The root has number 1. Momiji decided to play a game on this tree.
The game consists of several steps. On each step, Momiji chooses one of the remaining tree nodes (let's denote it by v) and removes all the subtree nodes with the root in node v from the tree. Node v gets deleted as well. The game finishes when the tree has no nodes left. In other words, the game finishes after the step that chooses the node number 1.
Each time Momiji chooses a new node uniformly among all the remaining nodes. Your task is to find the expectation of the number of steps in the described game.
桃子有一棵有根树,包含 n 个节点。树的节点编号为 1 到 n 的整数,其中根节点编号为 1。桃子决定在这棵树上进行一个游戏。
该游戏由若干步组成。在每一步中,桃子从当前剩余的树节点中任选一个节点(记为 v),并删除以 v 为根的整个子树(包括节点 v 本身)。当树中不再有任何节点时,游戏结束。换言之,游戏在某一步恰好选择节点 1 时结束。
每次桃子都在所有剩余节点中等概率地随机选择一个节点。你的任务是求该游戏中总步数的期望值。
输入格式
The first line contains integer n (1 ≤ n ≤ 105) — the number of nodes in the tree. The next n - 1 lines contain the tree edges. The i-th line contains integers a__i, b__i (1 ≤ a__i, b__i ≤ n; a__i ≠ b__i) — the numbers of the nodes that are connected by the i-th edge.
It is guaranteed that the given graph is a tree.
第一行包含一个整数 n(1≤n≤105)—— 树中节点的数量。接下来的 n−1 行描述树的边。第 i 行包含两个整数 ai、bi(1≤ai,bi≤n;ai=bi)—— 表示第 i 条边所连接的两个节点的编号。
保证给定的图是一棵树。
输出格式
Print a single real number — the expectation of the number of steps in the described game.
The answer will be considered correct if the absolute or relative error doesn't exceed 10 - 6.
输出一个实数——即所描述游戏中步数的期望值。
若答案的绝对误差或相对误差不超过 10−6,则视为正确。
输入输出样例
输入#1
2 1 2
输出#1
1.50000000000000000000
输入#2
3 1 2 1 3
输出#2
2.00000000000000000000
说明/提示
In the first sample, there are two cases. One is directly remove the root and another is remove the root after one step. Thus the expected steps are:
1 × (1 / 2) + 2 × (1 / 2) = 1.5
In the second sample, things get more complex. There are two cases that reduce to the first sample, and one case cleaned at once. Thus the expected steps are:
1 × (1 / 3) + (1 + 1.5) × (2 / 3) = (1 / 3) + (5 / 3) = 2
在第一个样例中,存在两种情况:一种是直接删除根节点,另一种是在一步之后删除根节点。因此,期望步数为:
1 × (1 / 2) + 2 × (1 / 2) = 1.5
在第二个样例中,情况更为复杂。其中存在两种情况会退化为第一个样例,还有一种情况可一步清除完毕。因此,期望步数为:
1 × (1 / 3) + (1 + 1.5) × (2 / 3) = (1 / 3) + (5 / 3) = 2
输入解题思路,AI测评打分。不知道怎么写?