5D.环线规划(route)

时空限制:4 s / 1024 MiB

输入输出方式:route.in / route.out

C 国由 nn 个城市组成,编号为 11 到 nn。这些城市由 n−1n-1 条双向道路互相连接,且任意两个城市都能通过这些道路互相到达。

现在 C 国的规划中心决定在这些道路上修建一条快速交通环线,这条环线是一条经过所有城市的 闭合 路线,且恰好经过每条道路的两个方向各一次。一条环线可以表示为一个长度为 2n−12n-1 的城市序列 p0,p1,…,p2n−2p_0,p_1,\ldots,p_{2n-2},满足:

  • p0=p2n−2p_0=p_{2n-2};
  • 对于任意 1≤i≤2n−21\le i\le 2n-2,城市 pi−1p_{i-1} 与 pip_{i} 之间都有道路连接;
  • 每条道路的两个方向都在序列中恰好出现一次。

注意,一个城市可能在环线中出现多次。

接下来,环线上将会开设两班列车,分别按照 p0→p1→⋯→p2n−2→⋯p_0\to p_1\to \cdots\to p_{2n-2}\to \cdots 与 p2n−2→p2n−3→⋯→p0→⋯p_{2n-2}\to p_{2n-3}\to \cdots\to p_0\to \cdots 的顺序循环运行。

同时,市政部向规划中心提出了 qq 个要求,每个要求的形式如下:

  • 给定两个城市 x,yx,y,需要保证,某乘客从城市 xx 可以乘坐列车到达城市 yy,并且在乘坐过程中不会重复经过同一个城市。注意,如果城市 xx 在环线中出现多次,乘客只需要选择合适的一次出现乘坐列车。

这对规划中心的专家们来说实在太难了,所以他们找到了你,算法大师小 F,帮助他们设计一个符合全部要求的环线,或者指出这样的环线实际上不存在。

输入格式

从文件 route.in 中读入数据。

本题包含多组测试数据。输入的第一行包含两个正整数 c,tc,t,分别表示测试点编号以及测试数据组数。c=0c=0 表示该测试点为样例。

对于每组测试数据:

  • 第一行包含两个正整数 n,qn,q,分别表示 C 国的城市个数和市政部的要求个数;
  • 接下来 n−1n-1 行,第 ii 行两个正整数 ui,viu_i,v_i,表示存在一条连接城市 uiu_i 和城市 viv_i 的双向道路。保证任意两个城市都能通过这些道路互相到达。
  • 接下来 qq 行,第 ii 行两个正整数 xi,yix_i,y_i,表示一个要求。

输出格式

输出到文件 route.out。

对于每组测试数据:

  • 如果不存在符合全部要求的环路,输出一行 No;
  • 否则,在输出的第一行输出 Yes,在第二行输出 2n−12n-1 个正整数 p0,p1,…,p2n−1p_0,p_1,\ldots,p_{2n-1},表示你所规划的环路。

样例 1

输入 
0 3
2 1 1 2 1 2
4 3 1 2 1 3 1 4 2 3 2 4 3 4
5 3 1 2 1 3 1 4 1 5 2 3 2 4 2 5
输出 
Yes 1 2 1
Yes 1 2 1 3 1 4 1
No

对于第一组测试数据,只有一条道路,环线可以为 1→2→11\to2\to1。

对于第二组测试数据,环线可以为 1→2→1→3→1→4→11\to2\to1\to3\to1\to4\to1。任意两个叶子城市之间都可以选择合适方向乘车,并且途中不会重复经过城市。

对于第三组测试数据,三个要求分别迫使通向城市 22 的道路在城市 11 处与通向城市 3,4,53,4,5 的道路相邻。然而在环线经过城市 11 时,一条道路在局部环形顺序中只能与两条道路相邻,因此不存在满足全部要求的环线。

样例 2

见附件中的 route2.in 与 route2.ans。

该样例满足测试点 1,21,2 的限制条件。

样例 3

见附件中的 route3.in 与 route3.ans。

该样例满足测试点 4,54,5 的限制条件。

样例 4

见附件中的 route4.in 与 route4.ans。

该样例满足测试点 66 的限制条件。

样例 5

见附件中的 route5.in 与 route5.ans。

该样例满足测试点 7∼97\sim 9 的限制条件。

样例 6

见附件中的 route6.in 与 route6.ans。

该样例满足测试点 1212 的限制条件。

样例 7

见附件中的 route7.in 与 route7.ans。

该样例满足测试点 1515 的限制条件。

样例 8

见附件中的 route8.in 与 route8.ans。

该样例满足测试点 16,1716,17 的限制条件。

样例 9

见附件中的 route9.in 与 route9.ans。

该样例满足测试点 18∼2018\sim 20 的限制条件。

样例 10

见附件中的 route10.in 与 route10.ans。

该样例满足测试点 21∼2321\sim 23 的限制条件。

数据范围

设 ∑n\sum n 表示单测试点内所有测试数据中 nn 的和,∑q\sum q 表示单测试点内所有测试数据中 qq 的和。

对于全部测试数据,保证:

  • 1≤t≤1041\le t \le 10^4;
  • 2≤n≤3⋅1052\le n\le 3\cdot 10^5,∑n≤106\sum n\le 10^6;
  • 1≤q≤min⁡(5⋅105,n(n−1)2)1\le q\le \min\left(5\cdot 10^5,\frac{n(n-1)}{2}\right),∑q≤106\sum q\le 10^6;
  • 对于任意 1≤i≤n−11\le i\le n-1,1≤ui<vi≤n1\le u_i<v_i\le n,且任意两个城市均可通过道路互相到达;
  • 对于任意 1≤i≤q1\le i\le q,1≤xi<yi≤n1\le x_i<y_i\le n,且 (x1,y1),(x2,y2),…,(xq,yq)(x_1,y_1),(x_2,y_2) ,\ldots,(x_q,y_q) 互不相同。
测试点编号n≤n\le∑n≤\sum n\leq≤q\le∑q≤\sum q\le特殊性质
1,21,2552020552020无
335⋅1045\cdot 10^45⋅1045\cdot 10^4
4,54,520020050050066500500
66200200
7∼97\sim 92⋅1032\cdot 10^35⋅1035\cdot 10^3665⋅1035\cdot 10^3
10,1110,112⋅1032\cdot 10^3
121210510^53⋅1053\cdot10^51110410^4
13,1413,1466
151510510^53⋅1053\cdot 10^5A
16,1716,17B
18∼2018\sim 20C
21∼2321\sim23无
24,2524,253⋅1053\cdot 10^510610^65⋅1055\cdot 10^510610^6
  • 特殊性质 A:对于任意 1≤i≤n−11\le i\le n-1,ui=iu_i=i,vi=i+1v_i=i+1;
  • 特殊性质 B:对于任意 1≤i≤n−11\le i\le n-1,ui=1u_i=1;
  • 特殊性质 C:每个城市至多与 33 条道路相连。