#2787. 背包

背包

题目描述

给定一棵 nn 个点的树,点编号从 11nn 。每个点有一个非负权值 aia_i

你需要把树上的一些边删掉。你需要保证,删掉之后,每个连通块的权值之和在区间 [L,R][L,R] 中。

给定非负整数 KK ,对于每个 0iK0\le i\le K ,判断能否恰好删去 ii 条边。

输入格式

第一行,一个正整数 TT ,表示数据组数,之后对于每组数据:

  • 第一行四个非负整数 n,K,L,Rn,K,L,R
  • 第二行 nn 个非负整数 a1,,ana_1,\cdots,a_n
  • 接下来 n1n-1 行,每行两个正整数 x,yx,y ,表示树上的一条边。

输出格式

对于每组数据:

  • 一行,一个长度为 K+1K+1 的字符串 ss ,其中 sis_i 在可以恰好删去 i1i-1 条边时为 1\texttt{1} ,否则为 0\texttt 0

样例

3
4 3 1 2
1 1 1 1
1 2
2 3
3 4
4 3 1 2
1 1 1 1
1 2
1 3
1 4
4 3 0 0
1 1 1 1
1 2
1 3
1 4
0111
0011
0000

样例二

见下发文件,该样例符合子任务 33 的限制。

样例三

见下发文件,该样例符合子任务 44 的限制。

样例四

见下发文件,该样例符合子任务 55 的限制。

数据范围与提示

对于所有数据,1T10001\le T\le 10001n,n10001\le n,\sum n\le 10000Kmin(50,n1)0\le K\le \min(50,n-1)0LR10150\le L\le R\le 10^{15}0ai10150\le a_i\le 10^{15}

子任务编号 特殊限制 分值
11 n30\sum n\le 30R80R\le 80 1515
22 n100\sum n\le 100R200R\le 200
33 n500\sum n\le 500RL600R-L\le 600 2020
44 存在一个点的度数为 n1n-1 1515
55 3535

时间限制:3s\texttt{3s}

空间限制:1024MB\texttt{1024MB}