#D1017. 噪音阻隔

噪音阻隔

题目背景

给一棵树,每个点有三种类型之一: (C,S,P)(C,S,P) ,最少删多少边使得每个连通块中不会同时存在 SSPP

题目描述

格兰芬多学院的宿舍可以用一棵树来表示,树上有 nn 个顶点,每个顶点代表一个房间,房间里正好有一个学生。

今晚,有三种类型的学生:

  • 想参加派对和玩音乐的学生(标记为 PP );
  • 想睡觉和享受安静的学生(标记为 SS );
  • 没有打算的学生(标记为 CC )。

最初,所有的墙都是薄墙,允许音乐通过,因此当参加派对的学生放音乐时,每个房间都能听到。但是,我们可以在任意边上放置厚墙阻隔音乐通过。

费尔奇希望安装一些厚墙,这样每个参加派对的学生都可以播放音乐,而睡觉的学生却不会被打扰。

请你计划一下最少需要使用的厚墙数量。

输入格式

第一行输入一个整数 nn ( 1n1051 ≤ n ≤ 10^5 ) 表示树上顶点的数量。

第二行输入 n1n-1 个整数 p2,p3,,pnp_2,p_3,\cdots ,p_n,表示 iipip_i 之间存在一条边。

第三行输入一个长度 nn 的字符串 SS ,由三种字符组成,表示每个顶点的类型。

输出格式

输出一个整数表示所需的最小厚壁数量。

输入输出样例 #1

输入 #1

4
1 2 2
PCSS

输出 #1

1

输入输出样例 #2

输入 #2

4
1 2 2
PPSS

输出 #2

2