#P11189. 「KDOI-10」水杯降温

    ID: 12468 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>动态规划 DP贪心二分2024洛谷原创O2优化洛谷月赛

「KDOI-10」水杯降温

背景

本场比赛所有题目从标准输入读入数据,输出到标准输出。

题目描述

小 S 有一棵包含 nn 个节点的有根树,且根为节点 11。节点 ii (1≤i≤n)(1\le i\le n) 上放置了一个初始水温为 aia_i 的水杯。

在不知道水温的情况下拿起水杯喝水并被烫了 inf 次的小 S 决定将这些水杯的水温全部变为 00 后再喝它们。

现在,小 S 可以分别进行以下两种操作任意次:

  • 使用一个在节点 ii 的加热装置。这会使以 ii 为根的子树内所有水杯里的水温均增加 11;
  • 或者,从某个叶子节点 ii 向根方向吹一阵风。这会使 ii 到根所有水杯里的水温均减少 11。

请你帮小 S 判断:能否将所有节点上的水杯的水温都变为 00。

输入格式

从标准输入读入数据。

本题有多组测试数据。

输入的第一行包含一个正整数 cc,表示测试点编号。c=0c=0 表示该测试点为样例。

第二行包含一个正整数 tt,表示测试数据组数。

对于每组测试数据:

  • 第一行包含一个正整数 nn,表示节点数量。
  • 第二行 n−1n-1 个正整数 f2,…,fnf_2,\dots,f_n,fif_i 表示 ii 节点的父亲节点编号。保证 fi<if_i<i。
  • 第三行 nn 个整数 aia_i,表示初始水温。

输出格式

输出到标准输出。

对于每组测试数据:

  • 如果可以将水温变为 00,输出一行一个字符串 Huoyu;
  • 如果无法将水温变为 00,输出一行一个字符串 Shuiniao。
0
5
5
1 1 2 3
6 5 2 2 1
5
1 1 2 2
6 5 1 2 1
5
1 1 2 2
4 -1 5 -2 -2
5
1 1 2 2
6 -4 8 -3 -3
5
1 1 2 2
-1 -1 -1 -4 -1
Shuiniao
Huoyu
Shuiniao
Shuiniao
Huoyu

提示

【样例 1 解释】

记 AuA_u 表示在节点 uu 使用加热装置的操作,BuB_u 表示从节点 uu 吹一阵风的操作,(S)k(S)^k 表示将操作序列 SS 重复 kk 次。

  • 对于第一、三、四组测试数据,可以证明,小 S 无法将所有水杯的水温都变为 00;
  • 对于第二组测试数据,一种可能的操作序列为:B3(A4)2(B4)4B5B_3(A_4)^2(B_4)^4B_5;
  • 对于第五组测试数据,一种可能的操作序列为:(A4)3A1(A_4)^3A_1。

【样例 2】

见选手目录下的 water/water2.in 与 water/water2.ans。

这个样例满足测试点 33 的约束条件。

【样例 3】

见选手目录下的 water/water3.in 与 water/water3.ans。

这个样例满足测试点 7,87,8 的约束条件。

【样例 4】

见选手目录下的 water/water4.in 与 water/water4.ans。

这个样例满足测试点 1212 的约束条件。

【样例 5】

见选手目录下的 water/water5.in 与 water/water5.ans。

这个样例满足测试点 13,1413,14 的约束条件。

【样例 6】

见选手目录下的 water/water6.in 与 water/water6.ans。

这个样例满足测试点 15∼1715\sim 17 的约束条件。

【样例 7】

见选手目录下的 water/water7.in 与 water/water7.ans。

这个样例满足测试点 18∼2118\sim 21 的约束条件。


【数据范围】

记 ∑n\sum n 为单个测试点内所有测试数据中 nn 的和。

对于全部的测试数据,保证:

  • 1≤t≤1 0001\leq t\leq 1\,000;
  • 2≤n≤1052\leq n\leq 10^5,∑n≤106\sum n\le 10^6;
  • 对于任意 2≤i≤n2\le i\le n,1≤fi<i1\le f_i<i;
  • 对于任意 1≤i≤n1\le i\le n,−1012≤ai≤1012-10^{12}\leq a_i\leq10^{12}。
测试点 n≤n\leq ∑n≤\sum n\le ∣ai∣≤\lvert a_i\rvert\leq 特殊性质
11 55 5050 55 无
22 200200
33 5 0005\,000
4,54,5 5050 500500 5050
66 10810^{8}
7,87,8 200200 2 0002\,000 200200
99 10810^{8}
10,1110,11 1 0001\,000 10410^4 1 0001\,000
1212 10810^{8}
13,1413,14 10510^5 3×1053\times 10^5 101210^{12} A
15∼1715\sim 17 B
18∼2118\sim 21 C
22,2322,23 3×1043\times 10^4 10510^5 10810^{8} 无
24,2524,25 10510^5 10610^6 101210^{12}
  • 特殊性质 A:对于任意 2≤i≤n2\le i\le n,fi=i−1f_i=i-1;
  • 特殊性质 B:对于任意 1≤i≤n1\le i\le n,ai≤(∑fj=iaj)+5a_i\le \left(\sum_{f_j=i}a_j\right)+5,其中设 f1=0f_1=0;
  • 特殊性质 C:树的深度不超过 22,其中深度指所有节点到根的边数中的最大值。

【提示】

本题输入输出量较大,请使用适当的 I/O 方式。