编程题
### 问题描述 **"第 $114511$ 届蟠桃大会开始了!!!"** 蟠桃大会是天庭中最重要的节日,各路神仙齐聚一堂,只为品尝这三千年一熟的神果。每年,王母娘娘都会将最大的一颗蟠桃奖励给最聪明的神仙。 具体地说,王母娘娘会出一道题目,最快回答的神仙将会得到本年度的最大蟠桃。今年的题目如下: > 给定一颗有 $n$ 个节点的树,其中根节点编号为 $1$,第 $i$ 个点的颜色为 $s_i$,每个节点的颜色可能为白色或者黑色。请你计算任意满足以下条件的二元组 $(u,v)$ 的最近公共祖先的深度之和。 > > - $1 \leq u < v \leq n$。 > - $s_u \ne s_v$。 由于答案可能很大,需要对 $998244353$ 取模后输出。 齐天大圣孙悟空十分渴望得到这颗最大的蟠桃,奈何智商有限,请你帮帮他。 **注意:根节点的深度视为 $1$。** ### 输入格式 第一行输入一个整数 $n(1 \leq n \leq 10^5)$ 表示树的节点数量。 第二行输入一个长度为 $n$ 的字符串 $s(s_i \in[0,1])$,其中 $s_i$ 表示第 $i$ 个节点的颜色,若 $s_i=0$ 则表示白色,否则表示黑色。 接下来 $n-1$ 行,每行两个整数 $u,v(1 \leq u,v \leq n)$ 表示节点 $u,v$ 之间有一条边。保证给定的数据为一棵树。 ### 输出格式 输出一个整数表示答案,答案需要对 $998244353$ 取模后输出。 ### 输入样例 ```text 5 10011 1 2 2 3 2 4 1 5 ``` ### 输出样例 ```text 8 ``` #### 说明 对于样例给定的树如下图: ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1882407-20240719-1721389808474)
查看答案
赣ICP备20007335号-2