#P13962. [2024多校联盟省选模拟]人赢

[2024多校联盟省选模拟]人赢

题目描述

昨天表白失败,属实有点破防。

小 Z 正在表白小 W,他们之间的关系可以看作是一棵有根树,根是 11。每个点要么属于小 Z,要么属于小 W,可以用一个长度为 nn0101 序列表示:第 ii 个数为 11 表示点 ii 属于小 Z,为 00 表示属于小 W。

定义小 Z 向小 W 表白次数为:点对 (x,y)(x,y) 的个数,满足 xxyy 的祖先,并且点 xx 属于小 Z、点 yy 属于小 W。

为了尽可能减少表白次数,你可以翻转至多 kk 个节点(把某个属于小 Z 的点变成小 W,或把小 W 变成小 Z),使表白次数最小。

你需要回答 k=0,1,,nk=0,1,\ldots,n 的所有情况的答案。

输入格式

第一行一个正整数 nn
第二行一个长度为 nn0101 序列。
接下来 n1n-1 行每行两个正整数 x,yx,y,表示树上的一条边 (x,y)(x,y)

输出格式

一行 n+1n+1 个数,第 ii 个数表示 k=i1k=i-1 时的答案。

8
1 1 1 0 1 0 1 0
7 3
1 4
5 1
7 5
6 7
2 6
2 8
8 4 1 0 0 0 0 0 0
10
0 1 0 0 1 1 1 0 0 0
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
14 9 6 2 0 0 0 0 0 0 0

样例解释

对于样例 1:

  • k=1k=1 时,将 88 号点变成 11
  • k=2k=2 时,将 6,86,8 号点变成 11
  • k=3k=3 时,将 4,6,84,6,8 号点变成 11

数据范围与提示

测试点编号 nn\le 特殊性质
131\sim 3 20
484\sim 8 500
9129\sim 12 8000 A
131613\sim 16 B
172517\sim 25
  • 特殊性质 A:保证 0101 序列最多含有 101011
  • 特殊性质 B:保证树是一条以 11 为端点的链。