P9983 [USACO23DEC] Cowntact Tracing P

题目描述

Farmer John 有依次编号为 $1\dots N$ 的 $N$($2\le N \le 10^5$)头奶牛,奶牛间的关系可以用树结构描述。不幸的是,有一种疾病正在传播。 最初,有一些奶牛被感染。每到夜晚,被感染的奶牛会将疾病传播给它的邻居。一旦奶牛被感染,她就会持续处于感染状态。经过一些晚上,Farmer John 意识到这样的情况,因此他对奶牛进行了检测以确定哪些奶牛感染了疾病。 你将得到 $Q$($1\le Q \le 20$)个不同的夜晚数,每个都是 $[0,N]$ 范围内的整数。对于每个夜晚数,请找出最少有多少头奶牛最初可能感染了这种疾病,或者报告夜晚数与给出的信息不符。

输入格式

第一行为一个整数 $N$。 接下来一行,包含长度为 $N$ 的由 $1$ 和 $0$ 组成的位串。其中 $1$ 表示一头被感染的奶牛,$0$ 表示一头在经过若干晚之后仍未被感染的奶牛。 接下来 $N-1$ 行描述了树的边。 接着输入 $Q$ 和 $Q$ 个夜晚数。

输出格式

输出 $Q$ 行,表示每个夜晚数的答案。若无解,输出 $-1$。

说明/提示

### 样例解释 1 对于前四个询问,一种可能是只有 $3$ 号奶牛一开始被感染。对于第五组询问($1$ 晚),一种可能是 $2,4$ 号奶牛一开始被感染。对于第六组询问($0$ 晚),一种可能是所有的五只奶牛在一开始都被感染。 ### 样例解释 2 对于第一组询问($0$ 晚),一种可能是所有的十只奶牛一开始都被感染。对于第二组询问($1$ 晚),一种可能是 $2,7,9$ 号奶牛一开始被感染。对于第三组询问($2$ 晚),一种可能是 $2,9$ 号奶牛一开始被感染。对于第四至第十一组询问,一种可能是只有 $7$ 号奶牛一开始被感染。 ### 样例解释 3 对于第一组询问($0$ 晚),一种可能是 $1,2,3$ 号奶牛一开始被感染。对于第二组询问($1$ 晚),一种可能是只有 $2$ 号奶牛一开始被感染。对于第三组询问($2$ 晚),一种可能是只有 $1$ 号奶牛一开始被感染。对于第四至第六组询问,不可能满足题给条件。 ### 测试点性质 - 测试点 $4-5$ 满足 $N \le 10$。 - 测试点 $6-8$ 满足所有奶牛都被感染。 - 测试点 $9-11$ 满足 $N \le 400$。 - 测试点 $12-23$ 没有额外限制。