#P11963. 牛奶

牛奶

牛奶

梓想要喝牛奶,但是奶牛在树上。

给定一个有 NN 个点,N1N-1 条边的无向连通图,点 ii 有点权 did_i,点权可正可负。奶牛初始在 11 号点,需要沿着某条路径(不一定是简单路径,即点和边均可以经过多次)到达 NN 号点。

奶牛有一个得分,初始为 00,在第一次经过一个点 ii(包括点 11 和点 NN)时,奶牛的得分会加上 did_i。奶牛需要确保得分始终不小于 00,求是否存在满足条件的路径。

输入格式

本题有多组数据

第一行一个正整数 TT,表示数据组数。

对于每组数据:

第一行一个正整数 NN

接下来一行 N1N-1 个整数 u2,u3,,uNu_2,u_3,\dots,u_N,表示点 ii 与点 uiu_i 之间有一条无向边。保证 1uii11\le u_i\le i-1,且最终形成的图是连通图。

最后一行 NN 个整数,表示 d1,d2,,dNd_1,d_2,\dots,d_N

输出格式

对于每组数据,输出一行一个整数:

若有解,则输出 1,否则输出 0

样例

ex_milk1.in
2
7
1 2 2 1 5 6
0 -3 2 2 3 -4 0
3
1 2
3 -4 3
ex_milk1.out
1
0

数据范围

奶牛提醒您:

数据千万条,清空第一条。

多测不清空,爆零两行泪。

对于所有测试点,满足 $T\le 10, N\le 2*10^5, -10^6\le d_i\le 10^6, d_1\ge 0$。

下表中的 KK 表示:该测试点至多有两组数据使得 N>KN>K/表示该测试点无此限制。

测试点 NN\le KK di\vert d_i \vert \le 特殊性质
121\backsim 2 1818 / 100100 /
343\backsim 4 200200
565\backsim 6 20002000 400400
787\backsim 8 10610^6
9109\backsim 10 21052*10^5 21042*10^4 ui=i1u_i=i-1
111311\backsim 13 ui=1u_i=1
141614\backsim 16 d1=106,i>1,di{1,0,1}d_1=10^6,\forall i>1, d_i\in \{-1,0,1\}
172017\backsim 20 /