#P16757. [GKS 2020 #C] Perfect Subarray
[GKS 2020 #C] Perfect Subarray
题目描述
Cristobal 有一个包含 个(可能为负)整数的数组。数组中第 个整数为 。数组的一个连续非空子数组称为 完美的,如果它的总和是一个 完全平方数。完全平方数是某个非负整数与自身相乘得到的数。例如,前五个完全平方数是 、、、 和 。
请问有多少个子数组是完美的?如果两个子数组在数组中的起始或结束下标不同,则视为不同,即使它们包含相同的值且顺序相同。
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例的第一行包含整数 。第二行包含 个整数,描述 Cristobal 的数组。其中第 个整数为 。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是完美子数组的数量。
3
3
2 2 6
5
30 30 9 1 30
4
4 0 0 16
Case #1: 1
Case #2: 3
Case #3: 9
提示
在样例 #1 中,有一个完美子数组:,其和为 。
在样例 #2 中,有三个完美子数组:
- ,其和为 。
- ,其和为 。
- ,其和为 。
在样例 #3 中,有九个完美子数组:
- ,其和为 。
- ,其和为 。
- ,其和为 。
- ,其和为 。
- ,其和为 。
- ,其和为 。
- ,其和为 。
- ,其和为 。
- ,其和为 。
注意:对于本题的测试集 2,我们不建议使用解释型/较慢的语言。
限制条件
。
对于所有 ,。
测试集 1
。
测试集 2
最多 个测试用例满足 。
其余测试用例满足 。
翻译由 DeepSeek V4 Pro 完成