【蓝桥杯 2023 省 B】砍树
蓝桥杯专栏:2023 省 B
算法竞赛:图论,搜索,差分,最近公共祖先 LCA,树上差分,深度优先搜索,广度优先搜索,拓扑排序
题目链接:洛谷【蓝桥杯 2023 省 B】砍树
题目描述
给定一棵由 n n n 个结点组成的树以及 m m m 个不重复的无序数对 ( a 1 , b 1 ) , ( a 2 , b 2 ) , … , ( a m , b m ) \left(a_{1},b_{1}\right),\left(a_{2},b_{2}\right),\ldots,\left(a_{m},b_{m}\right) (a1,b1),(a2,b2),…,(am,bm),其中 a i a_{i} ai 互不相同, b i b_{i} bi 互不相同, a i ≠ b j ( 1 ≤ i , j ≤ m ) a_{i} \neq b_{j}(1 \leq i,j \leq m) ai=bj(1≤i,j≤m)。
小明想知道是否能够选择一条树上的边砍断,使得对于每个 ( a i , b i ) \left(a_{i},b_{i}\right) (ai,bi) 满足 a i a_{i} ai 和 b i b_{i} bi 不连通,如果可以则输出应该断掉的边的编号 (编号按输入顺序从 1 1 1 开始),否则输出-1。
输入格式
输入共 n + m n+m n+m 行,第一行为两个正整数 n , m n,m n,m。
后面 n − 1 n-1 n−1 行,每行两个正整数 x i , y i x_{i},y_{i} xi,yi 表示第 i i i 条边的两个端点。
后面 m m m 行,每行两个正整数 a i , b i a_{i},b_{i} ai,bi。
输出格式
一行一个整数,表示答案,如有多个答案,输出编号最大的一个。
数据范围
对于 30 % 30 \% 30% 的数据,保证 1 < n ≤ 10 3 1<n \leq 10^3 1<n≤103。
对于 100 % 100 \% 100% 的数据,保证 1 < n ≤ 10 5 1<n \leq 10^{5} 1<n≤105, 1 ≤ m ≤ n 2 1 \leq m \leq \frac{n}{2} 1≤m≤2n。
题目大意
给出一棵树( n n n 个顶点, n − 1 n-1 n−1 条边)和一些无序数对 ( a i , b i ) , a i , b i ∈ [ 1 , n ] (a_i,b_i),a_i,b_i \in [1,n] (ai,bi),ai,bi∈[1,n],其中 a i , b i a_i,b_i ai,bi 是树上的顶点,让找出一条编号最大的边,满足删去后所以无序数对中的 a i a_i

最低0.47元/天 解锁文章
458

被折叠的 条评论
为什么被折叠?



