树的相交路径
时间限制:1秒 内存限制:256M
【题目描述】
给定含 \(n\) 个结点、边带权的无根树,请回答下面的询问:
\(1\ a\ b\ c\ d\):询问路径 \(a->b\) 是否是路径 \(c->d\) 的子路径。
\(2\ a\ b\ c\ d\):询问路径 \(a->b\) 和 \(c->d\) 的最长公共路径长度。
【输入格式】
第一行包括两个正整数 \(n,m\),表示树的节点数和询问数,树结点从 1 到 \(n\) 编号。
接下来 \(n-1\) 行描述树边情况,其中第 \(i\) 行包含三个整数 \(a, b\) 和 \(t\),表示第 \(i\) 条双向连接 \(a\) 和 \(b\),长度为 \(t\)。
接下来 \(m\) 行描述询问情况,每一个询问如题目描述格式。
【输出格式】
每个询问的回答输出一行,如果询问类型是 1,则输出 Yes 或 No,如果是询问类型 2,则输出公共路径长度,如果没有公共路径,则输出 0。
【输入输出样例】
Input
11 4
1 6 3
2 1 2
4 3 1
6 7 4
9 8 2
3 1 2
3 5 6
2 10 3
10 11 2
8 6 1
1 3 6 4 9
1 5 7 6 2
2 8 10 7 3
2 9 11 10 1
Output
Yes
No
3
5
【数据限制】
对于 \(100\%\) 的数据,\(1≤n,m≤300000\),\(1≤t≤100\)
【来源】
Mr.he