题目描述
给一棵树,每条边上有一个字符,求有多少对 (x,y)(x<y),满足 x 到 y 路径上的边上的字符按顺序组成的字符串为回文串。
输入格式
第一行有一个整数:n;
接下来 n−1 行,第 i 行有三个整数 xi,yi,zi,表示有一条连接 xi 和 yi 的边,边上的字符为 zi。
输出格式
输出满足要求的点对数量。
4
1 2 0
1 3 0
1 4 1
4
数据范围与提示
子任务 1[5 pts]:n≤10;
子任务 2[15 pts]:n≤5000;
子任务 3[15 pts]:对于所有的边,xi=i,yi=i+1;
子任务 4[25 pts]:对于所有的边,yi=i+1,xi 在 [1,i] 之间随机。
子任务 5[40 pts]:无特殊限制。
对于所有数据:$1\leq n\leq 50000,1\leq x_i,y_i\leq n,z_i\in\{0,1\}$。