CF1327D.Infinite Path
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a colored permutation p1,p2,…,pn. The i-th element of the permutation has color ci.
Let's define an infinite path as infinite sequence i,p[i],p[p[i]],p[p[p[i]]]… where all elements have same color (c[i]=c[p[i]]=c[p[p[i]]]=…).
We can also define a multiplication of permutations a and b as permutation c=a×b where c[i]=b[a[i]]. Moreover, we can define a power k of permutation p as pk=k timesp×p×⋯×p.
Find the minimum k>0 such that pk has at least one infinite path (i.e. there is a position i in pk such that the sequence starting from i is an infinite path).
It can be proved that the answer always exists.
给你一个带颜色的排列 p1,p2,…,pn,其中第 i 个元素的颜色为 ci。
我们定义一条无限路径为无限序列 i,p[i],p[p[i]],p[p[p[i]]],…,要求该序列中所有元素颜色相同(即 c[i]=c[p[i]]=c[p[p[i]]]=…)。
我们还可以定义两个排列 a 和 b 的乘法为排列 c=a×b,其中 c[i]=b[a[i]]。此外,可将排列 p 的 k 次幂定义为 pk=k 次p×p×⋯×p。
请找出最小的正整数 k>0,使得 pk 中至少存在一条无限路径(即在 pk 中存在某个位置 i,使得从 i 开始的序列构成一条无限路径)。
可以证明,答案一定存在。
输入格式
The first line contains single integer T (1≤T≤104) — the number of test cases.
Next 3T lines contain test cases — one per three lines. The first line contains single integer n (1≤n≤2⋅105) — the size of the permutation.
The second line contains n integers p1,p2,…,pn (1≤pi≤n, pi=pj for i=j) — the permutation p.
The third line contains n integers c1,c2,…,cn (1≤ci≤n) — the colors of elements of the permutation.
It is guaranteed that the total sum of n doesn't exceed 2⋅105.
第一行包含一个整数 T(1≤T≤104)—— 测试用例的数量。
接下来的 3T 行包含测试用例,每个测试用例占三行。第一行包含一个整数 n(1≤n≤2⋅105)—— 排列的长度。
第二行包含 n 个整数 p1,p2,…,pn(1≤pi≤n,且当 i=j 时 pi=pj)—— 排列 p。
第三行包含 n 个整数 c1,c2,…,cn(1≤ci≤n)—— 排列中各元素的颜色。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
Print T integers — one per test case. For each test case print minimum k>0 such that pk has at least one infinite path.
输出 T 个整数——每个测试用例输出一个整数。对于每个测试用例,输出满足条件的最小正整数 k>0,使得 pk 至少存在一条无限路径。
输入输出样例
输入#1
3 4 1 3 4 2 1 2 2 3 5 2 3 4 5 1 1 2 3 4 5 8 7 4 5 6 1 8 3 2 5 3 6 4 7 5 8 4
输出#1
1 5 2
说明/提示
In the first test case, p1=p=[1,3,4,2] and the sequence starting from 1: 1,p[1]=1,… is an infinite path.
In the second test case, p5=[1,2,3,4,5] and it obviously contains several infinite paths.
In the third test case, p2=[3,6,1,8,7,2,5,4] and the sequence starting from 4: 4,p2[4]=8,p2[8]=4,… is an infinite path since c4=c8=4.
在第一个测试用例中,p1=p=[1,3,4,2],且从 1 开始的序列:1,p[1]=1,… 是一条无限路径。
在第二个测试用例中,p5=[1,2,3,4,5],显然包含多条无限路径。
在第三个测试用例中,p2=[3,6,1,8,7,2,5,4],且从 4 开始的序列:4,p2[4]=8,p2[8]=4,… 是一条无限路径,因为 c4=c8=4。
输入解题思路,AI测评打分。不知道怎么写?