CF1497E1.Square-Free Division (easy version)
普及+/提高
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
This is the easy version of the problem. The only difference is that in this version k=0.
There is an array a1,a2,…,an of n positive integers. You should divide it into a minimal number of continuous segments, such that in each segment there are no two numbers (on different positions), whose product is a perfect square.
Moreover, it is allowed to do at most k such operations before the division: choose a number in the array and change its value to any positive integer. But in this version k=0, so it is not important.
What is the minimum number of continuous segments you should use if you will make changes optimally?
这是该问题的简单版本。唯一的区别在于本版本中 k=0。
给定一个由 n 个正整数组成的数组 a1,a2,…,an。你需要将其划分为最少数量的连续子段,使得在每个子段中,任意两个位于不同位置的数之积都不是完全平方数。
此外,在划分前,你最多可以执行 k 次如下操作:任选数组中的一个数,并将其修改为任意正整数。但在本版本中 k=0,因此该操作不生效。
如果你能以最优方式执行修改(尽管本版本中不允许修改),那么所需的最少连续子段数量是多少?
输入格式
The first line contains a single integer t (1≤t≤1000) — the number of test cases.
The first line of each test case contains two integers n, k (1≤n≤2⋅105, k=0).
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤107).
It's guaranteed that the sum of n over all test cases does not exceed 2⋅105.
第一行包含一个整数 t(1≤t≤1000)—— 表示测试用例的数量。
每个测试用例的第一行包含两个整数 n、k(1≤n≤2⋅105,k=0)。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤107)。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case print a single integer — the answer to the problem.
对于每个测试用例,输出一个整数——即该问题的答案。
输入输出样例
输入#1
3 5 0 18 6 2 4 1 5 0 6 8 1 24 8 1 0 1
输出#1
3 2 1
说明/提示
In the first test case the division may be as follows:
- [18,6]
- [2,4]
- [1]
在第一个测试用例中,划分方式可以如下所示:
- [18,6]
- [2,4]
- [1]
输入解题思路,AI测评打分。不知道怎么写?