CF1060F.Shrinking Tree

省选/NOI-

通过率:0%

时间限制:2.00s

内存限制:512MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Consider a tree TT (that is, a connected graph without cycles) with nn vertices labelled 11 through nn. We start the following process with TT: while TT has more than one vertex, do the following:

  • choose a random edge of TT equiprobably;
  • shrink the chosen edge: if the edge was connecting vertices vv and uu, erase both vv and uu and create a new vertex adjacent to all vertices previously adjacent to either vv or uu. The new vertex is labelled either vv or uu equiprobably.

At the end of the process, TT consists of a single vertex labelled with one of the numbers 1,…,n1, \ldots, n. For each of the numbers, what is the probability of this number becoming the label of the final vertex?

考虑一棵树 TT(即一个无环的连通图),其 nn 个顶点分别标记为 11 至 nn。我们对 TT 执行如下过程:只要 TT 的顶点数大于 11,就重复以下步骤:

  • 等概率地随机选取 TT 的一条边;
  • 收缩所选的边:若该边连接顶点 vv 和 uu,则删除 vv 和 uu,并创建一个新顶点,该新顶点与原先同 vv 或 uu 中任一者相邻的所有顶点均相邻。新顶点的标签以相等概率取 vv 或 uu。

该过程结束后,TT 仅剩一个顶点,其标签为 1,…,n1,\ldots,n 中的某一个数。对每个数,求其成为最终顶点标签的概率。

输入格式

The first line contains a single integer nn (1≤n≤501 \leq n \leq 50).

The following n−1n - 1 lines describe the tree edges. Each of these lines contains two integers ui,viu_i, v_i — labels of vertices connected by the respective edge (1≤ui,vi≤n1 \leq u_i, v_i \leq n, ui≠viu_i \neq v_i). It is guaranteed that the given graph is a tree.

第一行包含一个整数 nn(1≤n≤501 \leq n \leq 50)。

接下来的 n−1n - 1 行描述树的边。每行包含两个整数 ui,viu_i, v_i,表示由该边连接的两个顶点的标签(1≤ui,vi≤n1 \leq u_i, v_i \leq n,且 ui≠viu_i \neq v_i)。保证所给图是一棵树。

输出格式

Print nn floating numbers — the desired probabilities for labels 1,…,n1, \ldots, n respectively. All numbers should be correct up to 10−610^{-6} relative or absolute precision.

输出 nn 个浮点数——分别为标签 1,…,n1, \ldots, n 所对应的期望概率。所有数值的相对误差或绝对误差均需控制在 10−610^{-6} 以内。

输入输出样例

  • 输入#1

    4
    1 2
    1 3
    1 4

    输出#1

    0.1250000000
    0.2916666667
    0.2916666667
    0.2916666667
  • 输入#2

    7
    1 2
    1 3
    2 4
    2 5
    3 6
    3 7

    输出#2

    0.0850694444
    0.0664062500
    0.0664062500
    0.1955295139
    0.1955295139
    0.1955295139
    0.1955295139

说明/提示

In the first sample, the resulting vertex has label 1 if and only if for all three edges the label 1 survives, hence the probability is 1/23=1/81/2^3 = 1/8. All other labels have equal probability due to symmetry, hence each of them has probability (1−1/8)/3=7/24(1 - 1/8) / 3 = 7/24.

在第一个样例中,最终顶点的标签为 1 当且仅当三条边的标签 1 全部保留下来,因此概率为 1/23=1/81/2^3 = 1/8。由于对称性,其余所有标签出现的概率相等,故每个这样的标签的概率为 (1−1/8)/3=7/24(1 - 1/8) / 3 = 7/24。

输入解题思路,AI测评打分。不知道怎么写?

首页