#P51998. 「LOJ」 yww 与树上的回文串

「LOJ」 yww 与树上的回文串

题目描述

给一棵树,每条边上有一个字符,求有多少对 (x,y)(x<y)(x,y)(x<y),满足 xxyy 路径上的边上的字符按顺序组成的字符串为回文串。

输入格式

第一行有一个整数:nn

接下来 n1n-1 行,第 ii 行有三个整数 xi,yi,zix_i,y_i,z_i,表示有一条连接 xix_iyiy_i 的边,边上的字符为 ziz_i

输出格式

输出满足要求的点对数量。

样例

4
1 2 0
1 3 0
1 4 1
4

满足条件的有:(1,2),(1,3),(1,4),(2,3)(1,2),(1,3),(1,4),(2,3)

见下发文件中的 ex_string2.inex_string2.out

见下发文件中的 ex_string3.inex_string3.out

数据范围与提示

子任务 1[5 pts]1[5\ \text{pts}]n10n\leq 10

子任务 2[15 pts]2[15\ \text{pts}]n5000n\leq 5000

子任务 3[15 pts]3[15\ \text{pts}]:对于所有的边,xi=i,yi=i+1x_i=i,y_i=i+1

子任务 4[25 pts]4[25\ \text{pts}]:对于所有的边,yi=i+1,xiy_i=i+1,x_i[1,i][1,i] 之间随机。

子任务 5[40 pts]5[40\ \text{pts}]:无特殊限制。

对于所有数据:1n50000,1xi,yin,zi{0,1}1\leq n\leq 50000,1\leq x_i,y_i\leq n,z_i\in\{0,1\}