CF1156D.0-1-Tree

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a tree (an undirected connected acyclic graph) consisting of nn vertices and n−1n - 1 edges. A number is written on each edge, each number is either 00 (let's call such edges 00-edges) or 11 (those are 11-edges).

Let's call an ordered pair of vertices (x,y)(x, y) (x≠yx \ne y) valid if, while traversing the simple path from xx to yy, we never go through a 00-edge after going through a 11-edge. Your task is to calculate the number of valid pairs in the tree.

给你一棵树(即一个无向、连通、无环的图),该树包含 nn 个顶点和 n−1n - 1 条边。每条边上写有一个数字,该数字非 00 即 11(我们将标有 00 的边称为 00-边,标有 11 的边称为 11-边)。

我们称一个有序顶点对 (x,y)(x, y)(其中 x≠yx \ne y)是合法的,当且仅当:在从 xx 到 yy 的唯一简单路径上,不会在经过一条 11-边之后再经过一条 00-边。你的任务是计算这棵树中合法顶点对的总数。

输入格式

The first line contains one integer nn (2≤n≤2000002 \le n \le 200000) — the number of vertices in the tree.

Then n−1n - 1 lines follow, each denoting an edge of the tree. Each edge is represented by three integers xix_i, yiy_i and cic_i (1≤xi,yi≤n1 \le x_i, y_i \le n, 0≤ci≤10 \le c_i \le 1, xi≠yix_i \ne y_i) — the vertices connected by this edge and the number written on it, respectively.

It is guaranteed that the given edges form a tree.

第一行包含一个整数 nn(2≤n≤2000002 \le n \le 200000)——树中顶点的数量。

接下来是 n−1n - 1 行,每行表示树中的一条边。每条边由三个整数 xix_i、yiy_i 和 cic_i(1≤xi,yi≤n1 \le x_i, y_i \le n,0≤ci≤10 \le c_i \le 1,xi≠yix_i \ne y_i)表示——分别为该边所连接的两个顶点以及写在该边上的数字。

保证所给的边构成一棵树。

输出格式

Print one integer — the number of valid pairs of vertices.

输出一个整数——有效顶点对的数量。

输入输出样例

  • 输入#1

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

    输出#1

    34

说明/提示

The picture corresponding to the first example:

第一个示例对应的图片:

输入解题思路,AI测评打分。不知道怎么写?

首页