CF1851C.Tiles Comeback
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Vlad remembered that he had a series of n tiles and a number k. The tiles were numbered from left to right, and the i-th tile had colour ci.
If you stand on the first tile and start jumping any number of tiles right, you can get a path of length p. The length of the path is the number of tiles you stood on.
Vlad wants to see if it is possible to get a path of length p such that:
- it ends at tile with index n;
- p is divisible by k
- the path is divided into blocks of length exactly k each;
- tiles in each block have the same colour, the colors in adjacent blocks are not necessarily different.
For example, let n=14, k=3.
The colours of the tiles are contained in the array c = [1,2,1,1,7,5,3,3,1,3,4,4,2,4]. Then we can construct a path of length 6 consisting of 2 blocks:
c1→c3→c4→c11→c12→c14
All tiles from the 1-st block will have colour 1, from the 2-nd block will have colour 4.
It is also possible to construct a path of length 9 in this example, in which all tiles from the 1-st block will have colour 1, from the 2-nd block will have colour 3, and from the 3-rd block will have colour 4.
弗拉德记得自己有一排 n 块瓷砖和一个数 k。瓷砖从左到右编号,第 i 块瓷砖的颜色为 ci。
若你站在第一块瓷砖上,并向右跳跃任意数量的瓷砖,便可得到一条长度为 p 的路径。路径的长度即为你所站过的瓷砖数量。
弗拉德想知道:是否存在一条长度为 p 的路径,满足以下条件:
- 路径终点为编号为 n 的瓷砖;
- p 能被 k 整除;
- 该路径可被划分为若干个长度恰好为 k 的连续块;
- 每个块内的所有瓷砖颜色相同;相邻块的颜色可以相同,也可以不同。
例如,设 n=14,k=3。
瓷砖颜色数组 c = [1,2,1,1,7,5,3,3,1,3,4,4,2,4]。那么我们可以构造一条长度为 6 的路径,包含 2 个块:
c1→c3→c4→c11→c12→c14
其中,第 1 个块的所有瓷砖颜色均为 1,第 2 个块的所有瓷砖颜色均为 4。
在本例中,还可以构造一条长度为 9 的路径:第 1 个块的所有瓷砖颜色为 1,第 2 个块的所有瓷砖颜色为 3,第 3 个块的所有瓷砖颜色为 4。
输入格式
The first line of input data contains a single integer t (1≤t≤104) — the number of test cases.
The description of the test cases follows.
The first line of each test case contains two integers n and k (1≤k≤n≤2⋅105)—the number of tiles in the series and the length of the block.
The second line of each test case contains n integers c1,c2,c3,…,cn (1≤ci≤n) — the colours of the tiles.
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
输入数据的第一行包含一个整数 t(1≤t≤104)——测试用例的数量。
随后是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(1≤k≤n≤2⋅105)——分别为瓷砖序列的长度和块的长度。
每个测试用例的第二行包含 n 个整数 c1,c2,c3,…,cn(1≤ci≤n)——表示各瓷砖的颜色。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
For each test case, output on a separate line:
- YES if you can get a path that satisfies these conditions;
- NO otherwise.
You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as positive response).
对于每个测试用例,在单独的一行上输出:
- 如果可以得到一条满足这些条件的路径,则输出
YES; - 否则输出
NO。
YES 和 NO 的大小写不限(例如,字符串 yEs、yes、Yes 和 YES 均被视为肯定回答)。
输入输出样例
输入#1
10 4 2 1 1 1 1 14 3 1 2 1 1 7 5 3 3 1 3 4 4 2 4 3 3 3 1 3 10 4 1 2 1 2 1 2 1 2 1 2 6 2 1 3 4 1 6 6 2 2 1 1 4 2 2 1 1 1 2 1 1 2 3 2 2 2 2 4 1 1 1 2 2
输出#1
YES YES NO NO YES YES NO YES YES YES
说明/提示
In the first test case, you can jump from the first tile to the last tile;
The second test case is explained in the problem statement.
在第一个测试用例中,你可以从第一块瓷砖跳到最后一块瓷砖;
第二个测试用例已在题目描述中说明。
输入解题思路,AI测评打分。不知道怎么写?