#P700. 树的颜色

树的颜色

题目描述

给定一棵 nn 个结点的树,11 号点为根。每个点都有一个颜色,不同点的颜色可能不同,也可能相同。颜色总数不超过 nn,编号在 11 到 nn 之间。第 ii 个点的颜色为 cic_i。请为每个点统计,它的子孙后代中(不包括其本身)有多少点的颜色与它相同。

输入格式

  • 第一行:单个整数表示 nn;
  • 第二行:n−1n-1 个整数表示 p2p_2 到 pnp_n,pip_i 表示 ii 号点父亲的编号,保证有 1≤pi<i1\leq p_i<i
  • 第三行:nn 个整数表示 c1c_1 到 cnc_n,cic_i 表示 ii 号点的颜色,保证有 1≤ci≤n1\leq c_i\leq n。

输出格式

  • nn 个整数:表示第 ii 个点的子孙后代中有多少点的颜色与它相同。
7
1 1 1 2 3 4
1 3 1 3 1 3 1
3 0 0 0 0 0 0

数据范围

  • 对于 30%30\% 的数据, n≤200n\leq 200;
  • 对于 60%60\% 的数据, n≤5000n\leq 5000;
  • 对于 100%100\% 的数据, 1≤n≤200,0001\leq n\leq 200,000。