#P15935. [TOPC 2021] Garden Park

    ID: 17994 远端评测题 5000ms 512MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>动态规划 DP2021ICPC台湾

[TOPC 2021] Garden Park

题目描述

在花园公园里,有 nn 个景点(编号为 11 到 nn)和 n−1n-1 条小径(编号为 11 到 n−1n-1)连接这些景点。对于每个 i∈{1,2,…,n−1}i \in \{1, 2, \dots, n-1\},小径 ii 的两端分别位于景点 aia_i 和 bib_i,且该小径除了端点外不经过任何其他景点。此外,这些小径之间除了端点外没有其他交点。

为了保护花园,游客只能沿着小径(任意方向)行走,并可以在景点内停留。对于任意一对景点 (x,y)(x, y)(x≠yx \neq y),存在一条小径序列 s1,s2,…,sks_1, s_2, \dots, s_k 满足以下条件:

  • 景点 xx 是小径 s1s_1 的一个端点。
  • 景点 yy 是小径 sks_k 的一个端点。
  • 对于 1≤i<k1 \leq i < k,小径 sis_i 和 si+1s_{i+1} 共享一个公共端点。
  • 如果景点 zz 是某对 sis_i 和 si+1s_{i+1}(i∈{1,…,k−1}i \in \{1, \dots, k-1\})的公共端点,那么 zz 不能是 s1,…,sks_1, \dots, s_k 中任何其他小径对的公共端点。

换句话说,游客从 xx 移动到 yy 时,沿着小径 s1,s2,…,sks_1, s_2, \dots, s_k 行走,且不会重复经过任何一个景点。这样的序列称为从 xx 到 yy 的 简单路径。

公园的管理部门计划在园内举办一场活动。他们在小径上贴上标签。对于小径 tt,其上的标签为整数 ℓ(t)\ell(t),游客通过行走经过小径 tt 即可获知 ℓ(t)\ell(t)。一条从 xx 到 yy 的简单路径 s1,s2,…,sks_1, s_2, \dots, s_k 被称为 严格递增标签路径,如果 ℓ(s1)<ℓ(s2)<⋯<ℓ(sk)\ell(s_1) < \ell(s_2) < \cdots < \ell(s_k)。游客向管理部门报告 mm 条不同的严格递增标签简单路径,即可赢得 mm 张未来参观的免费门票。

你的朋友乔治刚刚参观完公园,并获知了所有小径上的标签。他想和你一起赢得免费门票。请编写一个程序,计算花园公园中严格递增标签简单路径的数量。

输入格式

第一行包含一个整数 nn。第 (i+1)(i+1) 行包含三个整数 ai,bi,cia_i, b_i, c_i。小径 ii 连接景点 aia_i 和 bib_i,且小径 ii 上的标签 ℓ(i)\ell(i) 为 cic_i。

输出格式

输出花园公园中严格递增标签简单路径的数量。

3
1 2 3
2 3 7
5
5
1 2 2
2 3 2
1 4 5
5 4 5
9

提示

  • 1≤n≤2×1051 \leq n \leq 2 \times 10^5
  • 1≤ai≤n1 \leq a_i \leq n,对于 i∈{1,2,…,n}i \in \{1, 2, \dots, n\}
  • 1≤bi≤n1 \leq b_i \leq n,对于 i∈{1,2,…,n}i \in \{1, 2, \dots, n\}
  • 0≤ci≤1090 \leq c_i \leq 10^9,对于 i∈{1,2,…,n}i \in \{1, 2, \dots, n\}
  • ai≠bia_i \neq b_i,对于 i∈{1,2,…,n}i \in \{1, 2, \dots, n\}

翻译由 DeepSeek V3.2 完成