CF482E.ELCA

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

You have a root tree containing nn vertexes. Let's number the tree vertexes with integers from 11 to nn . The tree root is in the vertex 11 .

Each vertex (except fot the tree root) vv has a direct ancestor pvp_{v} . Also each vertex vv has its integer value svs_{v} .

Your task is to perform following queries:

  • P vv uu ( uvu≠v ). If uu isn't in subtree of vv , you must perform the assignment pv=up_{v}=u . Otherwise you must perform assignment pu=vp_{u}=v . Note that after this query the graph continues to be a tree consisting of nn vertexes.
  • V vv tt . Perform assignment sv=ts_{v}=t .

Your task is following. Before starting performing queries and after each query you have to calculate expected value written on the lowest common ancestor of two equiprobably selected vertices ii and jj . Here lowest common ancestor of ii and jj is the deepest vertex that lies on the both of the path from the root to vertex ii and the path from the root to vertex jj . Please note that the vertices ii and jj can be the same (in this case their lowest common ancestor coincides with them).

输入格式

You have a root tree containing nn vertexes. Let's number the tree vertexes with integers from 11 to nn . The tree root is in the vertex 11 .

Each vertex (except fot the tree root) vv has a direct ancestor pvp_{v} . Also each vertex vv has its integer value svs_{v} .

Your task is to perform following queries:

  • P vv uu ( uvu≠v ). If uu isn't in subtree of vv , you must perform the assignment pv=up_{v}=u . Otherwise you must perform assignment pu=vp_{u}=v . Note that after this query the graph continues to be a tree consisting of nn vertexes.
  • V vv tt . Perform assignment sv=ts_{v}=t .

Your task is following. Before starting performing queries and after each query you have to calculate expected value written on the lowest common ancestor of two equiprobably selected vertices ii and jj . Here lowest common ancestor of ii and jj is the deepest vertex that lies on the both of the path from the root to vertex ii and the path from the root to vertex jj . Please note that the vertices ii and jj can be the same (in this case their lowest common ancestor coincides with them).

输出格式

Print q+1q+1 number — the corresponding expected values. Your answer will be considered correct if its absolute or relative error doesn't exceed 10910^{-9} .

输入输出样例

  • 输入#1

    5
    1 2 2 1
    1 2 3 4 5
    5
    P 3 4
    P 4 5
    V 2 3
    P 5 2
    P 1 4
    

    输出#1

    1.640000000
    1.800000000
    2.280000000
    2.320000000
    2.800000000
    1.840000000
    

说明/提示

You have a root tree containing nn vertexes. Let's number the tree vertexes with integers from 11 to nn . The tree root is in the vertex 11 .

Each vertex (except fot the tree root) vv has a direct ancestor pvp_{v} . Also each vertex vv has its integer value svs_{v} .

Your task is to perform following queries:

  • P vv uu ( uvu≠v ). If uu isn't in subtree of vv , you must perform the assignment pv=up_{v}=u . Otherwise you must perform assignment pu=vp_{u}=v . Note that after this query the graph continues to be a tree consisting of nn vertexes.
  • V vv tt . Perform assignment sv=ts_{v}=t .

Your task is following. Before starting performing queries and after each query you have to calculate expected value written on the lowest common ancestor of two equiprobably selected vertices ii and jj . Here lowest common ancestor of ii and jj is the deepest vertex that lies on the both of the path from the root to vertex ii and the path from the root to vertex jj . Please note that the vertices ii and jj can be the same (in this case their lowest common ancestor coincides with them).

首页