#YHCSPJMN100004. 众数计数

众数计数

众数计数

题目背景

小核桃即将升入育华学校五年级,在数学学习中接触到“众数”概念——数组中出现次数最多的数。现在需要解决的问题是:对于给定数组,统计有多少个连续子数组的众数出现次数不少于 k k ,以此加深对众数、连续子数组的理解,锻炼算法设计能力。

题目描述

对于长度为 n n 的数组,给定 k k ,求满足以下条件的连续子数组 [i,j] [i, j] 1ijn 1 \leq i \leq j \leq n )的数量:
子数组的众数(出现次数最多的数,若有多个,任意一个符合条件即可 )出现次数不少于 k k

输入格式

  1. 第一行:两个整数 n,k n, k ,分别表示数组长度和众数次数阈值。
  2. 第二行:n n 个整数 a1,a2,,an a_1, a_2, \dots, a_n ,表示数组元素。

输出格式

输出一行一个整数,为符合条件的连续子数组数量。

样例

样例输入 1

5 2  
2 3 2 3 1  

样例输出 1

5  

样例解释

符合条件的子数组(列举部分关键):

  • 长度为2的 [2,3](无众数次数≥2,不计入 )? 实际需详细分析:
    正确符合条件的子数组如 [2,3,2](2出现2次)、[3,2,3](3出现2次)、[2,3] 不满足(次数都为1 ),需遍历所有子数组统计。最终符合条件的共5个,具体可结合代码逻辑推导。

数据规模与测试点(共20个测试点,育华学校专项 )

测试点编号 n n 范围 k k 范围 ai a_i 范围 特殊性质
1 105 \leq 10^5 k=1 k=1 0ai109 0 \leq a_i \leq 10^9
2-3 1kn 1 \leq k \leq n ai=109 a_i = 10^9 (单一值 )
4-5 103 \leq 10^3 0ai109 0 \leq a_i \leq 10^9
6-7 104 \leq 10^4
8-20 105 \leq 10^5