AT_agc037_f.[AGC037F] Counting of Subarrays

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

定义正整数序列 SS 属于等级 (k,l)(k, l),当且仅当满足以下任一条件:

  • SS 的元素个数为 11,且该元素的值为 kk。
  • 存在属于等级 (k−1,l)(k-1, l) 的数列 T1,T2,…,TmT_1, T_2, \ldots, T_m(m≥lm \geq l),将 T1,T2,…,TmT_1, T_2, \ldots, T_m 按顺序连接后得到的数列与 SS 完全一致。

注意,当 k=1k=1 时,第二个条件没有意义,因此等级 (1,l)(1, l) 的正整数序列只能满足第一个条件。

给定正整数序列 A1,A2,…,ANA_1, A_2, \ldots, A_N 和正整数 LL。请计算满足下述条件的子序列 Ai,Ai+1,…,AjA_i, A_{i+1}, \ldots, A_j(1≤i≤j≤N1 \leq i \leq j \leq N)的个数:

  • 存在某个正整数 KK,使得数列 Ai,Ai+1,…,AjA_i, A_{i+1}, \ldots, A_j 属于等级 (K,L)(K, L)。

输入格式

输入从标准输入中按以下格式给出。

NN LL A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出满足条件的子序列的个数。

输入输出样例

  • 输入#1

    9 3
    2 1 1 1 1 1 1 2 3

    输出#1

    22
  • 输入#2

    9 2
    2 1 1 1 1 1 1 2 3

    输出#2

    41
  • 输入#3

    15 3
    4 3 2 1 1 1 2 3 2 2 1 1 1 2 2

    输出#3

    31

说明/提示

限制条件

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 2≤L≤N2 \leq L \leq N
  • 1≤Ai≤1091 \leq A_i \leq 10^9

样例说明 1

例如,数列 (1,1,1)(1,1,1) 和 (2)(2) 都属于等级 (2,3)(2,3),因此数列 (2,1,1,1,1,1,1)(2,1,1,1,1,1,1) 属于等级 (3,3)(3,3)。

由 ChatGPT 4.1 翻译

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

首页