题目描述
在花园公园里,有 n 个景点(编号为 1 到 n)和 n−1 条小径(编号为 1 到 n−1)连接这些景点。对于每个 i∈{1,2,…,n−1},小径 i 的两端分别位于景点 ai 和 bi,且该小径除了端点外不经过任何其他景点。此外,这些小径之间除了端点外没有其他交点。
为了保护花园,游客只能沿着小径(任意方向)行走,并可以在景点内停留。对于任意一对景点 (x,y)(x=y),存在一条小径序列 s1,s2,…,sk 满足以下条件:
- 景点 x 是小径 s1 的一个端点。
- 景点 y 是小径 sk 的一个端点。
- 对于 1≤i<k,小径 si 和 si+1 共享一个公共端点。
- 如果景点 z 是某对 si 和 si+1(i∈{1,…,k−1})的公共端点,那么 z 不能是 s1,…,sk 中任何其他小径对的公共端点。
换句话说,游客从 x 移动到 y 时,沿着小径 s1,s2,…,sk 行走,且不会重复经过任何一个景点。这样的序列称为从 x 到 y 的 简单路径。
公园的管理部门计划在园内举办一场活动。他们在小径上贴上标签。对于小径 t,其上的标签为整数 ℓ(t),游客通过行走经过小径 t 即可获知 ℓ(t)。一条从 x 到 y 的简单路径 s1,s2,…,sk 被称为 严格递增标签路径,如果 ℓ(s1)<ℓ(s2)<⋯<ℓ(sk)。游客向管理部门报告 m 条不同的严格递增标签简单路径,即可赢得 m 张未来参观的免费门票。
你的朋友乔治刚刚参观完公园,并获知了所有小径上的标签。他想和你一起赢得免费门票。请编写一个程序,计算花园公园中严格递增标签简单路径的数量。
输入格式
第一行包含一个整数 n。第 (i+1) 行包含三个整数 ai,bi,ci。小径 i 连接景点 ai 和 bi,且小径 i 上的标签 ℓ(i) 为 ci。
输出格式
输出花园公园中严格递增标签简单路径的数量。
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×105
- 1≤ai≤n,对于 i∈{1,2,…,n}
- 1≤bi≤n,对于 i∈{1,2,…,n}
- 0≤ci≤109,对于 i∈{1,2,…,n}
- ai=bi,对于 i∈{1,2,…,n}
翻译由 DeepSeek V3.2 完成