luogu#P10226. [COCI 2023/2024 #3] Restorani

[COCI 2023/2024 #3] Restorani

题目背景

译自 COCI 2023/2024 Contest #3 T4「Restorani

题目描述

来到塞格德,Malnar 先生像通常一样,必须了解当地文化,品尝所有传统餐点、特色美食和当地饮料。

我们可以把塞格德想象成由 n1n - 1 条双向道路连接的 nn 个景点,这些景点的编号从 11nn。这样,每一对景点之间都有一条路径。令人惊奇的是,Malnar 先生走过每条道路正好需要一分钟。在景点行走的时间可以忽略不计。

Malnar 先生有一份他想去的 mm 家餐厅的清单。它由 mm 个正整数组成,其中第 ii 个数表示第 ii 个餐厅在哪个景点附近。

一个问题是 Malnar 先生在餐厅用餐后,必须马上去甜品店吃冰淇淋。另一个问题是,他拒绝两次光顾同一家甜品店。

幸运的是他有备而来,因为他知道 mm 家甜品店,这些甜品店的位置是由 mm 个正整数组成的列表,其中第 ii 个数字代表第 ii 家甜品店在这个景点附近。

Malnar 先生旅途劳累,不想走更多的路,因此他请你计算一下他需要走多少路,并提供去餐厅和甜品店的顺序,这样他就可以在没有帮助的情况下穿梭于餐厅和甜品店之间了。

Malnar 先生目前在景点 11,并且必须在最后回到景点 11

输入格式

第一行包含整数 nnm (1mn3105)m\ (1\le m\le n\le 3\cdot 10^5),分别表示景点个数和餐厅/甜品店个数。

第二行包含 mm 个整数 ai (1ain,ij,aiaj)a_i\ (1\le a_i\le n,\forall i\neq j,a_i\neq a_j),表示餐厅清单。

第二行包含 mm 个整数 bi (1bin,ij,bibj)b_i\ (1\le b_i\le n,\forall i\neq j,b_i\neq b_j),表示甜品店清单。

接下来 n1n-1 行,每行两个整数 xix_iyi (1xi,yin)y_i\ (1\le x_i,y_i\le n),表示景点 xix_iyiy_i 之间有一条道路。

输出格式

第一行输出 tt,表示 Malnar 先生为了去所有餐厅和甜品店,并最后返回景点 11 的最短用时。

第二行输出 2m2m 个整数 viv_i,表示去餐厅和甜品店的顺序。

在奇数位置的数表示餐馆,这些数必须组成前 mm 个正整数的排列。在偶数位置的数表示甜品店,这些数也必须组成前 mm 个正整数的排列。

按上述顺序去景点并返回开始位置所经历的时间必须为最短时间 tt

如果有多个最优顺序,输出任意一个均可。

3 1
2
3
1 2
1 3

4
1 1

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

18
3 1 4 2 2 4 1 3

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

24
4 4 5 5 3 3 2 2 1 1

提示

样例解释 1

Malnar 先生首先走一分钟前往唯一在景点 22 的餐厅,然后走两分钟到唯一在景点 33 的甜品店,然后花一分钟走回景点 11。Malnar 先生总共会花 1+2+1=41+2+1=4 分钟。

样例解释 2

Malnar 先生按如下顺序去餐厅和甜品店:在景点 44 的餐厅(22 分钟),在景点 44 的甜品店(00 分钟),在景点 66 的餐厅(33 分钟),在景点 55 的甜品店(11 分钟),在景点 33 的餐厅(11 分钟),在景点 99 的甜品店(33 分钟),在景点 22 的餐厅(33 分钟),在景点 88 的甜品店(33 分钟)。在景点 88 处的甜品店吃完冰淇淋后,他返回景点 1122 分钟)。Malnar 先生一共走了 2+0+3+1+1+3+3+3+2=182+0+3+1+1+3+3+3+2=18 分钟。

样例解释 3

Malnar 先生按如下顺序去餐厅和甜品店:在景点 77 的餐厅(66 分钟),在景点 99 的甜品店(22 分钟),在景点 88 的餐厅(11 分钟),在景点 1010 的甜品店(22 分钟),在景点 66 的餐厅(44 分钟),在景点 44 的甜品店(22 分钟),在景点 55 的餐厅(11 分钟),在景点 22 的甜品店(33 分钟),在景点 33 的餐厅(11 分钟),在景点 11 的甜品店(22 分钟)。在吃完最后的冰淇淋后,他已经在景点 11 所以他不会移动。Malnar 先生一共走了 2424 分钟。

子任务

子任务编号 附加限制 分值
11 n5 000,m10n\le 5\ 000,m\le 10 1818
22 i=1,,n1,xi=i,yi=i+1\forall i=1,\ldots,n-1,x_i=i,y_i=i+1
33 n5 000n\le 5\ 000 2727
44 无附加限制 3737