AT_abc390_f.[ABC390F] Double Sum 3

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N)。

对于满足 1≤L≤R≤N1 \leq L \leq R \leq N 的整数对 (L,R)(L, R),定义 f(L,R)f(L, R) 如下:

  • 初始时,在黑板上按顺序写下 R−L+1R-L+1 个整数 AL,AL+1,…,ARA_L, A_{L+1}, \ldots, A_R。
  • 重复以下操作直到黑板上所有整数被清除:
    • 选择两个整数 l,rl, r,需满足 l≤rl \leq r 且黑板上当前存在的所有 [l,r][l, r] 范围内的整数至少各出现一次。随后清除黑板上所有 [l,r][l, r] 范围内的整数。
  • f(L,R)f(L, R) 定义为清除所有整数所需的最小操作次数。

请计算 ∑L=1N∑R=LNf(L,R)\displaystyle \sum_{L=1}^N \sum_{R=L}^N f(L, R) 的值。

输入格式

输入从标准输入给出,格式如下:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    4
    1 3 1 4

    输出#1

    16
  • 输入#2

    5
    3 1 4 2 4

    输出#2

    23
  • 输入#3

    10
    5 1 10 9 2 5 6 9 1 6

    输出#3

    129

说明/提示

约束条件

  • 1≤N≤3×1051 \leq N \leq 3 \times 10^5
  • 1≤Ai≤N1 \leq A_i \leq N
  • 输入的所有值均为整数

样例解释 1

以 (L,R)=(1,4)(L, R) = (1, 4) 为例,计算 f(L,R)f(L, R) 的过程如下:

  • 黑板上初始有 1,3,1,41, 3, 1, 4。
  • 选择 (l,r)=(1,1)(l, r) = (1, 1),清除所有 11,此时黑板上剩余 3,43, 4。
  • 选择 (l,r)=(3,4)(l, r) = (3, 4),清除 3,43, 4。
  • 无法在少于 22 次操作内完成清除,因此 f(1,4)=2f(1, 4) = 2。

类似地,可得 f(2,4)=2f(2, 4) = 2,f(1,1)=1f(1, 1) = 1 等。
总和 ∑L=1N∑R=LNf(L,R)=16\displaystyle \sum_{L=1}^N \sum_{R=L}^N f(L, R) = 16,因此输出 1616。

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页