4302: [GESP202406七级] 区间乘积

内存限制:512 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

## 题目背景 2024 年 6 月 GESP C++ 七级编程第 2 题 ## 题目描述 小杨有一个包含 $n$ 个正整数的序列 $A=[a_1,a_2,...,a_n]$ 。 小杨想知道有多少对 $ \lt l,r>(1 \leq l \leq r \leq n)$ 满足 $a_l \times a_{l+1} \times ... \times a_r$ 为完全平方数。 一个正整数 $x$ 为完全平方数当且仅当存在一个正整数 $y$ 使得 $x=y \times y$ 。

输入

## 输入格式 第一行包含一个正整数 $n$ ,代表树的节点数。 第二行包含 $n$ 个非负整数 $a_1,a_2,...,a_n$ ,其中如果 $a_i=0$ ,则节点 $i$ 的颜色为白色,否则为黑色。 之后 $n-1$ 行,每行包含两个正整数 $x_i,y_i$ ,代表存在一条连接节点 $x_i$ 和 $y_i$ 的边。

输出

## 输出格式 输出一个整数,代表满足要求的 $ \lt l,r>$ 数量。

样例输入 复制

5
3 2 4 3 2

样例输出 复制

2

提示

## 样例 ```input1 5 3 2 4 3 2 ``` ```output1 2 ``` ## 样例解释 满足条件的 $ \lt l,r>$ 有 $ \lt 3,3>$ 和 $ \lt 1,5>$ 。 ## 数据范围 | 子任务编号 | 数据点占比 | $n$ | $a_i$ | | ----------| ----------| -----------------|------| | 1 | $20\%$ | $\leq 10^5$ | $1\leq a_i \leq 2$ | | 2 | $ 40\%$ | $\leq 100$ | $1\leq a_i \leq 30$ | | 3 | $40\%$ | $\leq 10^5$ | $1\leq a_i \leq 30$ | 对于全部数据,保证有 $1 \leq n \leq 10^5 , 1 \leq a_i \leq 30$ 。

来源/分类