#P17226. [2025年南开中学集训]平稳套服裁

    ID: 16385 传统题 2000ms 1024MiB 尝试: 1 已通过: 1 难度: 9 上传者: 标签>图论数据结构并查集树论LCA算法基础构造模拟CF2600

[2025年南开中学集训]平稳套服裁

平稳套服裁

题目描述

橙子在游戏中建立了 nn 个城市,并且在城市间建立了 mm 条双向道路,使得所有城市可以互相到达,但是一场地震摧毁了所有道路。在地震后的 mm 天里,第 ii 天连接 ui,viu_i,v_i 的道路会被修复,但是由于道路比较窄,只允许单向通行,橙子可以为每条修复的道路决定通行方向。

为了评估修复情况,橙子会问你 qq 个问题,每个问题给定 u,ku,k,你需要告诉她:所有在第 kk 天存在一种定向方案使得 uu 能到达的城市中,至少在第几天,存在一种定向方案,使得这些城市两两间可以互相到达;特别地,如果这样的点只有一个,输出 00,如果永远不能满足条件,输出 m+1m+1

输入格式

第一行 33 个整数 n,m,qn,m,q,分别表示城市数量、道路数量、询问个数。

接下来 mm 行,每行 22 个整数 ui,viu_i,v_i,表示第 ii 天被修复的道路。

接下来 qq 行,每行 22 个整数 u,ku,k,表示一组询问。

输出格式

qq 行,每行一个整数表示询问的答案。

样例输入 1

6 8 5
1 2
1 3
2 3
1 4
1 5
2 5
3 4
1 6
1 1
4 1
1 4
5 5
6 8

样例输出 1

3
0
7
7
9

样例解释

对于第 11 组询问,城市 11 在加入第 11 条边之后可以到达的城市有 1,21,2,在第 33 时刻,将道路定向为 12,23,311\to2,2\to3,3\to1 后,两两间互相到达。

对于第 22 组询问,城市 44 在加入第 11 条边之后可以到达的城市只有 44,根据题目应该输出 00

对于第 55 组询问,城市 66 在加入第 88 条边之后可以到达的城市有 1,2,3,4,5,61,2,3,4,5,6,可以发现永远不能满足条件,根据题目应该输出 m+1=9m+1=9

转换注:原文将样例输出标题误写为“样例输入 1”,并在最后一段误写为“m+1=8m+1=8”;这里按样例及 m=8m=8 修正为“样例输出 1”和“m+1=9m+1=9”。

数据范围

对于所有数据:2n5×1052\le n\le5\times10^5n1m2×106n-1\le m\le2\times10^61q5×1051\le q\le5\times10^51ui,vin1\le u_i,v_i\le nuiviu_i\ne v_i1un1\le u\le n1km1\le k\le m。保证在地震之前,所有城市可以互相到达。

本题采用捆绑测试,并且开启所有合理的子任务依赖。

子任务 分值 附加限制
1 10 n,m,q103n,m,q\le10^3
2 20 n103n\le10^3m104m\le10^4
3 n103n\le10^3
4 对于 1in11\le i\le n-1ui=i,vi=i+1u_i=i,v_i=i+1
5 30 无特殊性质