A38786.统计操作后不同的序列

提高+/省选-

官方

通过率:35.48%

时间限制:1.00s

内存限制:128MB

题目描述

给定一个长度为 NN 的整数序列 (A1,A2,AN)(A_1, A_2, \ldots A_N),你可以对其执行一次以下操作:

  • 选择一个二元组 (L,R)(L, R),其中 1LRN1 \le L \le R \le N
  • 将序列中的元素 Ai(LiR)A_i (L \le i \le R) 全部替换为 i=LRAiRL+1\dfrac{\sum_{i=L}^{R}A_i}{R - L + 1}

请你计算操作后可以得到的不同序列的数量。

数据范围\large{数据范围}

  • 1N1051 \le N \le 10^5
  • 1Ai301 \le A_i \le 30
  • 所有输入数据均为整数

输入格式

对于每个测试文件,格式如下:

N\tt{N}
A1 A2 AN\tt{A_1\ A_2\ \ldots A_N}

输出格式

对于每个测试用例,在单独的一行中输出答案。

输入输出样例

  • 输入#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\bf{样例\ 1:}

  1. (L,R)=(1,1)(L, R) = (1, 1),我们可以得到序列 (1,3,2,4)(1, 3, 2, 4)
  2. (L,R)=(1,2)(L, R) = (1, 2),我们可以得到序列 (2,2,2,4)(2, 2, 2, 4)
  3. (L,R)=(2,3)(L, R) = (2, 3),我们可以得到序列 (1,2.5,2.5,4)(1, 2.5, 2.5, 4)
  4. (L,R)=(3,4)(L, R) = (3, 4),我们可以得到序列 (1,3,3,3)(1, 3, 3, 3)
  5. (L,R)=(1,4)(L, R) = (1, 4),我们可以得到序列 (2.5,2.5,2.5,2.5)(2.5, 2.5, 2.5, 2.5)

所以经过操作后,我们可以得到 55 个不同的序列。

样例 2\bf{样例\ 2:}

(L,R)=(1,1)(L, R) = (1, 1),我们可以得到序列 (6,6,6)(6, 6, 6)

我们无法通过选择其他二元组进行操作得到与其不同的序列,所以答案为 11

首页