题目背景
2024 年 6 月 GESP C++ 七级编程第 2 题
题目描述
小杨有一个包含 n 个正整数的序列 A=[a1,a2,...,an] 。
小杨想知道有多少对 <l,r>(1≤l≤r≤n) 满足 al×al+1×...×ar 为完全平方数。
一个正整数 x 为完全平方数当且仅当存在一个正整数 y 使得 x=y×y 。
输入格式
第一行包含一个正整数 n ,代表树的节点数。
第二行包含 n 个非负整数 a1,a2,...,an ,其中如果 ai=0 ,则节点 i 的颜色为白色,否则为黑色。
之后 n−1 行,每行包含两个正整数 xi,yi ,代表存在一条连接节点 xi 和 yi 的边。
输出格式
输出一个整数,代表满足要求的 <l,r> 数量。
样例
5
3 2 4 3 2
2
样例解释
满足条件的 <l,r> 有 <3,3> 和 <1,5> 。
数据范围
子任务编号 |
数据点占比 |
n |
ai |
1 |
20% |
≤105 |
1≤ai≤2 |
2 |
40% |
≤100 |
1≤ai≤30 |
3 |
40% |
≤105 |
对于全部数据,保证有 1≤n≤105,1≤ai≤30 。