#P0407. 树上有效路径

树上有效路径

题目描述

给你一棵包含 nn 个节点的树。树上节点编号从 11nn

书上的每条边都有一个权值,每条边的权值不是 00 就是 11。方便起见,我们接下来称权值为 00 的边为 “00 边”,称权值为 11 的边为 “11 边”。

我们称一对节点对 (x,y)(x, y)xyx \neq y)是一个 有效的 节点对,当且仅当:

从节点 xx 出发到节点 yy 的简单路径中,一开始是若干条(可能为 00 条)连续的 00 边,接着是若干条(可能为 00 条)连续的 11 边。

也就是说,存在从 xxyy 的路径,且一旦你经过 11 边了就不能再经过 00 边,则 (x,y)(x, y) 就是一个有效的节点对。

输入格式

第一行,一个整数 n(2n2105)n(2 \le n \le 2 \cdot 10^5),表示树的大小。

接下来 n1n-1 行,每行包含三个整数 xi,yi,cix_i, y_i, c_i1xi,yin,0ci1,xiyi1 \le x_i, y_i \le n, 0 \le c_i \le 1, x_i \le y_i),表示存在一条连接节点 xix_i 和节点 yiy_i 的边,它的权值为 cic_i

数据保证这是一棵树。

输出格式

输出一个整数,表示有效的节点对数。

样例

7
2 1 1
3 2 0
4 2 1
5 2 0
6 7 1
7 2 1
34

说明/提示

样例 1 配图

数据规模与约定

  • 对于 20%20\% 的数据,n20n \le 20
  • 对于 50%50\% 的数据,n2000n \le 2000
  • 对于 100%100\% 的数据,2n21052 \le n \le 2 \cdot 10^5