만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

반짝반짝 3

면접 대비

시간 제한4초메모리 제한1536 MB

요약
트리에서 켜진 정점 전구와 간선 전구 수의 기댓값을 초기 상태와 각 확률 교체 후에 출력합니다.
난이도

보통10점 중 6점

유형
확률, 트리, 수학
정답자
아직 제출이 없습니다

문제

국렬이는 지난여름에 쓰다 남은 전구 스트립으로 자신의 자취방에 있는 NN개의 정점으로 이루어진 트리를 꾸미려 한다.

트리의 각 정점에는 전구가 하나씩 설치되어 있다. ii번 정점의 전구는 전원을 넣으면 pip_i의 확률로 켜진다. 전구가 넉넉했던 국렬이는 트리의 각 간선에도 전구를 하나씩 달았다. 간선에 단 전구는 양 끝 정점의 전구 중 정확히 하나만 켜져 있을 때 켜진다.

국렬이는 또 QQ번에 걸쳐 특정 정점의 전구를 다른 전구로 바꾼다. 처음 상태와 각 교체가 끝난 뒤마다 켜진 전구 개수의 기댓값을 구하여라.

입력

첫 번째 줄에는 정점의 개수 NN이 주어진다. (2≤N≤500,0002 ≤ N ≤ 500,000)

두 번째 줄에는 p1p_1부터 pNp_N까지 주어진다. 각 값은 소수점 아래 두 자리까지 정확히 주어진다. (0.00≤pi≤1.000.00 ≤ p_i ≤ 1.00)

세 번째 줄부터 (N+1)(N+1)번째 줄까지 두 정수 uu, vv가 주어진다. 이는 주어진 트리에서 정점 uu와 정점 vv를 연결하는 간선을 의미한다. (1≤u,v≤N1 ≤ u,v ≤ N, u≠vu ≠ v)

(N+2)(N+2)번째 줄에는 전구를 바꾸는 횟수 QQ가 주어진다. (1≤Q≤500,0001 ≤ Q ≤ 500,000)

그다음 QQ개의 줄에 걸쳐 양의 정수 uu와 음이 아닌 실수 pp가 주어진다. 이는 정점 uu의 전구를 켜질 확률이 pp인 전구로 교체한다는 뜻이다. pp는 소수점 아래 두 자리까지 정확히 주어진다. (1≤u≤N1 ≤ u ≤ N, 0.00≤p≤1.000.00 ≤ p ≤ 1.00)

출력

첫 번째 줄에는 처음 상태에서 켜진 전구 개수의 기댓값을 출력한다. 이어서 QQ개의 줄에 걸쳐 각 교체가 끝난 뒤의 켜진 전구 개수의 기댓값을 출력한다. 출력한 값과 정답의 절대 오차 또는 상대 오차가 10−610^{-6} 이하여야 한다.

예제1

  1. 예제 1

    입력
    3
    0.50 0.50 0.50
    1 2
    1 3
    1
    2 1.00
    
    예상 출력
    2.50
    3.00