CF1211G.King's Path
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
树之国有n个城市和n-1条双向道路。每条路连接着两个不同的城市。你可以从任何一个城市开车到另一个城市,只需要沿着道路行驶。城市的编号从1到n。当然,你在这个描述中认出了一棵无向树。
每个城市都有一面国旗,在第 i 个城市,国旗的颜色是ci。不同城市的国旗颜色可能是一样的。
如果国王旅行沿途 [u1,u2,u3,...,uk] 那么这就意味着,他开始在城市 u1 ,然后移动到城市u2 (u2与u1之间有公路连接) ,然后从u2到u3 (u3与u2之间有公路连接),直到他到达城市uk。在这条路线上,国王可能会多次访问同一个城市。换句话说,路线[u1,u2,u3,...,uk]不一定由不同的城市组成。在图论方面,国王沿着一些路径 [u1,u2,u3,...,uk] 从u1移动到uk,这并不一定简单(对于城市 uj 和uj+1(所有 j 取于1到k-1)都是通过道路连接的)。
当国王从一个城市到另一个城市时,城市领导人交换旗帜作为他们友谊的标志。

例:
移动国王沿路线[1,4,2,6]。顶点的颜色与该顶点的标志颜色相匹配。出于美观的原因,国王希望城市di(1≤i≤n)的旗帜颜色都是相同的。确定国王是否可以选择一些路线并沿着它行驶,以便每个城市的旗帜颜色都与期望的颜色相同。注意,国王可以选择(并驾驶)一条路线。如果是,为国王找一条最短的路线。
如果旗子的初始颜色已经符合国王的要求(即对于所有i,ci=di),则认为国王的路线长度为k=0。
输入格式
第一行包含一个整数 t (1≤t≤105)——要解决的测试用例的数量。
每一种情况先输入一个整数n (2≤n≤2⋅105)即树之国的城市数量。
下面输入n个整数,c1,c2,...,cn(1≤ci≤106),其中ci表示国王旅行前第i个顶点的旗帜颜色。
下面是一行n个整数,d1,d2,...,dn(1≤di≤106),其中di表示国王旅程完成后第i个顶点所需的旗帜颜色。
此外,在n−1行,列出树地的道路。每条道路连接两个整数点xj,yj(1≤xj,yj≤n) ——由第j条道路连接的城市数量。
它保证从每个城市你都可以通过道路到达任何其他城市(换句话说,城市和道路系统形成了一个无向树)。
在一次测试中,所有情况下所有n值的总和不超过2⋅105。
输出格式
按输入数据中出现的顺序输出所有案例的答案。
每个答案必须以包含“Yes”(在肯定答案的情况下)或“No”(在所要求的路线不存在的情况下)。如果答案是肯定的,下面一行必须包含一个整数k——国王最短可能路线上的城市数量。下一行应该包含所需的路线u1,u2,...,uk(1≤ui≤n)。如果k=0,可以跳过这行。
输入输出样例
输入#1
1 7 2 3 2 7 1 1 3 7 1 2 3 1 2 3 1 7 4 1 2 6 2 3 2 4 5 4
输出#1
Yes 4 1 4 2 6
输入#2
1 5 1 2 2 2 2 2 2 2 2 1 1 2 2 3 3 4 4 5
输出#2
Yes 5 1 2 3 4 5
输入#3
3 4 10 20 10 20 20 10 20 10 1 2 1 3 1 4 2 1000000 1000000 1000000 1000000 1 2 10 4 2 2 4 2 4 1 2 3 4 4 2 4 4 3 2 1 2 4 2 5 8 6 9 10 5 1 10 7 10 3 4 5 9 3 10 2 4
输出#3
No Yes 0 Yes 5 3 10 5 9 6
输入解题思路,AI测评打分。不知道怎么写?