아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

반짝반짝 3

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

요약
각 정점의 전구는 주어진 확률로 켜지고, 각 간선의 전구는 양 끝 정점 중 하나만 켜졌을 때 켜진다. 정점 확률을 갱신할 때마다 켜진 전구 개수의 기댓값을 구한다.
난이도

보통10점 중 5점

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

문제

국렬이는 작년 여름에 사용하다 남은 전구 스트립을 이용해서 자신의 자취방에 있는 NN개의 정점으로 이루어진 트리를 장식하려고 한다.

전구는 트리의 각 정점에 하나씩 설치되어 있다. ii번째 정점에 붙어있는 전구는 전원을 넣었을 때 p_ip\_i의 확률로 켜진다. 그리고 전구에 여유가 넘치는 국렬이는 간선에 추가 전구를 하나씩 달았다. 이 추가 전구들은 연결된 두 정점에 설치된 전구들 중 하나만이 켜졌을 때 불이 켜진다.

추가로 국렬이는 QQ번 특정 정점에 설치된 전구를 다른 전구로 바꿀 것이다. 각 시점별로 불이 들어오는 전구 개수의 기댓값을 구하여라.

입력

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

두 번째 줄에는 p_1p\_1부터 p_Np\_N이 주어진다. 이는 정확히 소수점 아래 두 자리까지 주어진다. (0.00≤p_i≤1.000.00 \le p\_i \le 1.00)

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

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

그다음 QQ개의 줄에 걸쳐서 양의 정수 uu와 음이 아닌 실수 pp가 주어진다. 이는 정점 uu에 설치된 전구를 켜질 확률이 pp인 전구로 교체하는 것을 의미한다. pp는 정확히 소수점 아래 두 자리까지 주어진다. (1≤u≤N1 \le u \le N, 0.00≤p≤1.000.00 \le p \le 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