A38786.统计操作后不同的序列
提高+/省选-
官方
通过率:35.48%
时间限制:1.00s
内存限制:128MB
题目描述
给定一个长度为 N 的整数序列 (A1,A2,…AN),你可以对其执行一次以下操作:
- 选择一个二元组 (L,R),其中 1≤L≤R≤N;
- 将序列中的元素 Ai(L≤i≤R) 全部替换为 R−L+1∑i=LRAi。
请你计算操作后可以得到的不同序列的数量。
数据范围
- 1≤N≤105
- 1≤Ai≤30
- 所有输入数据均为整数
输入格式
对于每个测试文件,格式如下:
N
A1 A2 …AN
输出格式
对于每个测试用例,在单独的一行中输出答案。
输入输出样例
输入#1
4 1 3 2 4
输出#1
5
输入#2
3 6 6 6
输出#2
1
输入#3
16 7 7 10 2 1 9 7 1 1 6 10 5 6 7 8 4
输出#3
116
说明/提示
样例 1:
- 令 (L,R)=(1,1),我们可以得到序列 (1,3,2,4)。
- 令 (L,R)=(1,2),我们可以得到序列 (2,2,2,4)。
- 令 (L,R)=(2,3),我们可以得到序列 (1,2.5,2.5,4)。
- 令 (L,R)=(3,4),我们可以得到序列 (1,3,3,3)。
- 令 (L,R)=(1,4),我们可以得到序列 (2.5,2.5,2.5,2.5)。
所以经过操作后,我们可以得到 5 个不同的序列。
样例 2:
令 (L,R)=(1,1),我们可以得到序列 (6,6,6)。
我们无法通过选择其他二元组进行操作得到与其不同的序列,所以答案为 1。