#P15089. [UOI 2025 II Stage] OldPost --- NewPost

[UOI 2025 II Stage] OldPost --- NewPost

说明

在 Trilyandia 国家,有 nn 个城市通过 n1n-1 条道路相连。该国的道路系统很特别:

  • 每条道路仅连接两个不同的城市;
  • 任意两个城市之间最多有一条道路;
  • 从任意城市出发,都可以到达其他任意城市(可能需途经其他城市)。

邮政公司 OldPost 决定在该国提供配送服务。由于员工人数有限,运输仅沿一条长度为 ll 的路线 aa 进行,即一个城市序列 a1,a2,,ala_1,a_2,\dots,a_l,满足:

  • 对于 iji\neq j,有 aiaja_i\neq a_j
  • 城市 aia_iai+1a_{i+1} 之间有道路连接(1i<l1\leq i < l)。

为了最大化利润,OldPost 决定沿长度最长的路线运营。

OldPost 的古老竞争对手 NewPost 也决定做同样的事,但沿其自己的路线 bbb1,b2,,blb_1,b_2,\dots,b_l,该路线不一定与 aa 不同,但也具有最大可能长度。

总统得知两家公司的意图后,要求 OldPost 和 NewPost 选择路线 aabb,使得覆盖的城市数量最多(即确保尽可能多的城市至少出现在一条路线上)。由于 Trilyandia 的总统擅长管理,而邮政公司擅长投递物品而非寻找路线,因此你需要找出这样的 aabb

注意,每家公司都希望自己的路线长度尽可能长;即使选择更短的路线能增加覆盖的城市总数。

请帮助找出具有最大可能长度且覆盖最多城市数量的路线 aabb

输入格式

  • 第一行包含一个整数 nn2n61052\leq n \leq 6\cdot 10^5)——国家中的城市数量。
  • 接下来的 n1n-1 行,每行包含两个整数 xix_iyiy_i1xi,yin,xiyi1 \leq x_i,y_i \leq n, x_i \neq y_i)——表示有道路连接的城市对。

输出格式

  • 第一行应包含一个整数 ll2ln2 \leq l \leq n)——找到的贸易路线的长度。
  • 第二行应包含 ll 个整数 a1,a2,,ala_1,a_2,\dots,a_l1ain1 \leq a_i \leq n)——路线 aa 中的城市。
  • 第三行应包含 ll 个整数 b1,b2,,blb_1,b_2,\dots,b_l1bin1 \leq b_i \leq n)——路线 bb 中的城市。

如果有多个最优路线,输出任意一组即可。

10
1 2
2 3
3 4
4 5
2 6
6 7
3 8
8 9
10 1
6
5 4 3 2 1 10 
9 8 3 2 6 7 

提示

:::align{center} :::

在示例中,可能的最长路线如下:

  • 55-44-33-22-66-77
  • 99-88-33-22-66-77
  • 55-44-33-22-11-1010
  • 99-88-33-22-11-1010

第一条和第四条路线可以覆盖所有城市。

评分细则

  • 88 分):n10n\leq 10
  • 88 分):n20n\leq 20
  • 66 分):n1000n \leq 1\,000;恰好有一个城市直接与其他所有城市相连;
  • 88 分):n20000n \leq 20\,000;恰好有两个城市只与另一个城市相连(城市呈链状);
  • 88 分):n20000n \leq 20\,000;恰好有一个城市与三个或更多城市相连;
  • 88 分):n10000n \leq 10\,000;最多有 1010 个城市只与另一个城市相连;
  • 1616 分):n1000n\leq 1\,000
  • 1818 分):n70000n\leq 70\,000
  • 2020 分):无额外限制。

翻译由 DeepSeek V3 完成