#agc037f. [agc037_f]Counting of Subarrays

[agc037_f]Counting of Subarrays

题目描述

对于一个由正整数组成的序列 S S 和两个正整数 k,l k,l ,只要 S S 满足下列两个条件之一,我们就称 S S 属于级别 (k,l) (k,l) (一个序列可能同时属于多个级别):

  • S=1 |S|=1 S S 中唯一的数字是 k k
  • S S 可以由 m m 个属于级别 (k1,l) (k-1,l) 的序列 T1,T2,,Tm(ml) T_1,T_2,\dots,T_m(m\ge l) 按顺序拼接而得到。

注意到当 k=1 k=1 时第二个条件是无效的,所以,只有在满足第一个条件时,序列才可能属于级别 (1,l) (1,l)

现在你有一个正整数序列 A1,A2,,AN A_1,A_2,\dots,A_N 和一个正整数 L L ,求满足以下条件的连续子序列 Ai,Ai+1,,Aj(1ijN) A_i,A_{i+1},\dots,A_j(1\le i\le j\le N) 的数量:

  • 存在一个正整数 K K ,使得序列 Ai,Ai+1,,Aj(1ijN) A_i,A_{i+1},\dots,A_j(1\le i\le j\le N) 属于级别 (K,L) (K,L)