#P15419. 「yrOI R1」冬日永恒

    ID: 17281 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 显示难度NOI/NOI+/CTS 上传者: 标签>洛谷原创Special JudgeO2优化构造

「yrOI R1」冬日永恒

背景

题目描述

我们对一个森林集合定义一次操作为,选择 kk 个互不相同的点 u1∼ku_{1 \sim k}(如果不能选择则不能操作),然后依次进行以下流程:

  • 建立一个新点 n′n',对 i∈[1,k]i \in [1, k] 连边 (n′,ui)(n',u_i)。你需要时刻保证目前存在的点的个数 ≤max⁡(n1,n2)+5\le \max(n_1,n_2)+5。
  • 如果当前的图中存在环,你可以选择一个简单环并删除它上面所有的边,重复此流程直到没有环存在。
  • 删除所有度数为 00 的点。

现在,给你两棵树 S,TS,T,n1=∣S∣,n2=∣T∣n_1=|S|,n_2=|T|,你需要判断,G={S}G=\{S\} 能否进行若干次操作得到森林集合 G′G',G′G' 只包含一棵树 S′S',并且 S′S' 与 TT 同构。

由于出题人非常善良,你可以进行 mm 次操作,mm 见数据范围。

输入格式

第一行输入两个数 c,tc,t,代表测试点编号和数据组数。特别地,样例中 c=0c=0。

接下来输入 tt 组数据:

第一行输入三个数 n1,n2,kn_1,n_2,k,代表 S,TS,T 树的大小和 kk。

接下来 n1−1n_1-1 行每行输入一条边 (ui,vi)(u_i,v_i),代表树 SS 的一条边。

接下来 n2−1n_2-1 行每行输入一条边 (xi,yi)(x_i,y_i),代表树 TT 的一条边。

输出格式

你需要输出 tt 组数据的答案:

第一行输出一个字符串 Yes\texttt{Yes} 或者 No\texttt{No},代表是否可以让 SS 通过操作与 TT 同构。

如果你输出了 Yes\texttt{Yes},接下来一行你需要输出一个数 rr,代表你构造方案的操作次数。

你需要保证你的操作次数小于等于 mm 次,如果你的操作次数超过了 mm,将会被判定为 Wrong Answer。

接下来你需要输出你进行的 rr 次操作:

第一行输出 kk 个数,代表你选择的点,接下来在 kk 个点后面输出一个数 n′n',代表你新建的点。注意:n′n' 必须曾经被删除过或者从未出现于 G′G'。你需要保证 n′≤max⁡(n1,n2)+5n' \le \max(n_1,n_2) + 5。

接下来输出一个整数 ll,代表你删除的简单环个数,接下来 ll 行每行描述一个删除的简单环,第 ii 行首先输出环的长度 hih_i,接下来输出一个顶点序列 u1∼hiu_{1 \sim h_i} 代表你删除的环,请注意,必须按任意一种环上的方向依次输出 u1∼hiu_{1 \sim h_i}。

最后你需要输出一行 pxp_x,代表操作后的 S′S' 树中 pxp_x 对应 TT 树的 xx。

本题开启 Special Judge,如果有多种方案,输出任意一种即可。如果你的方案不合法,将会被判定为 WA/UKE。

0 3
4 3 2
1 2
2 3
3 4
2 1
2 3
4 4 3
1 2
2 3
3 4
1 2
1 3
1 4
4 4 4
1 2
1 3
1 4
1 2
2 3
3 4
Yes
1
3 4 5
1
3 3 4 5
1 2 3
Yes
1
2 3 4 5
1
3 5 3 4
2 1 3 5
No

提示

本题开启子任务测试,但是不绑点。记 N=max⁡(n1,n2)N = \max(n_1,n_2)。

  • Subtask 1(20 pts):k=2k=2。
  • Subtask 2(40 pts):k=3k=3。
  • Subtask 3(40 pts):k=4k=4。

每个子任务有 2020 个测试点,每个测试点等分获得该子任务的分数。记 Nmax⁡N_{\max} 为 NN 的最大可能值,二十个测试点的 $\{N_{\max}\}=\{3,5,8,20,50,100,300,500,700,1000,1000,1000,1000,2 \times 10^4,4 \times 10^4,6\times 10^4,8 \times 10^4,10^5,10^5,10^5\}$。

第 ii 个子任务的第 jj 个测试点编号为 20(i−1)+j20(i-1)+j。

对于每个 subtask 的第 1∼131 \sim 13 个测试点:1≤T≤1031 \le T \le 10^3,2≤n1,n2≤1032 \le n_1,n_2 \le 10^3,k∈{2,3,4}k \in \{2,3,4\},∑N2≤108\sum N^2 \le 10^8。

对于 100%100\% 的数据:1≤T≤1031 \le T \le 10^3,2≤n1,n2≤1052 \le n_1,n_2 \le 10^5,k∈{2,3,4}k \in \{2,3,4\},∑N≤5×105\sum N \le 5 \times 10^5。

m=m0+10m=m_0+10,m0m_0 见下表:

测试点编号 m0=m_0=
1∼131 \sim 13 2.0×1032.0 \times 10^3
14∼2014 \sim 20 2.0×1052.0 \times 10^5
21∼3321 \sim 33 1.0×1031.0 \times 10^3
34∼4034 \sim 40 1.0×1051.0 \times 10^5
41∼5341 \sim 53 1.25×1031.25 \times 10^3
54∼6054 \sim 60 1.25×1051.25 \times 10^5

「我觉得...只有在什么结束的时候,才能开始达到永恒」‌