만드는 중입니다

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

Cowflix 시청하기

시간 제한3초메모리 제한1024 MB

요약
트리에서 표시된 노드를 모두 덮는 서로 떨어진 연결 요소의 최소 비용을 k=1부터 N까지 각각 구합니다. 크기가 d인 요소의 비용은 d+k입니다.
난이도

어려움10점 중 8점

유형
트리, 동적 계획법, 분할 정복
정답자
아직 제출이 없습니다

문제

Bessie는 Cowflix 시청을 좋아하며, 여러 장소에서 시청합니다. Farmer John의 농장은 NN (2≤N≤2⋅1052 \leq N \leq 2\cdot 10^5)개의 정점으로 이루어진 트리입니다. 각 정점에서 Bessie는 Cowflix를 보거나, 보지 않습니다. 적어도 한 정점에서는 Bessie가 Cowflix를 본다고 보장됩니다.

Cowflix는 비밀번호 공유를 막기 위해 새로운 구독 모델을 도입합니다. 새 모델에서는 농장에서 크기가 dd인 연결 성분 하나를 고르고, 그 성분에서 쓸 수 있는 계정에 대해 d+kd + k 무니를 냅니다. 형식적으로 말하면, 서로 겹치지 않는 연결 성분 c1,c2,…,cCc_1, c_2, \dots, c_C를 고르되, Bessie가 Cowflix를 보는 모든 정점이 어떤 cic_i에 포함되도록 해야 합니다. 집합의 비용은 ∑i=1C(∣ci∣+k)\sum_{i=1}^{C} (|c_i|+k)이며, 여기서 ∣ci∣|c_i|는 cic_i의 정점 수입니다. Bessie가 Cowflix를 보지 않는 정점은 어떤 cic_i에도 포함될 필요가 없습니다.

Bessie는 새 모델이 자신의 시청 습관에 비해 너무 비쌀까 걱정하며, Mooloo로 바꾸는 것도 고려하고 있습니다. 판단을 돕기 위해, 시청 습관을 유지하려면 Cowflix에 최소 얼마를 내야 하는지 계산하세요. Cowflix는 아직 kk 값을 발표하지 않았으므로, 11부터 NN까지 모든 정수 kk에 대해 답을 구하세요.

입력

첫 줄에 NN이 주어집니다. 둘째 줄에는 비트 문자열 s1s2s3…sNs_1s_2s_3 \dots s_N이 주어지며, si=1s_i = 1이면 정점 ii에서 Bessie가 Cowflix를 봅니다. 이후 N−1N-1개의 줄에 정수 aa, bb (1≤a,b≤N1 \leq a, b \leq N)가 하나씩 주어지며, 이는 트리에서 aa와 bb를 잇는 간선을 뜻합니다.

출력

kk가 11부터 NN까지일 때의 답을 한 줄에 하나씩 출력합니다.

예제2

  1. 예제 1

    입력
    5
    10001
    1 2
    2 3
    3 4
    4 5
    
    예상 출력
    4
    6
    8
    9
    10
    
  2. 예제 2

    입력
    7
    0001010
    7 4
    5 6
    7 2
    5 1
    6 3
    2 5
    
    예상 출력
    4
    6
    8
    9
    10
    11
    12