B. 颜色区间统计

    传统题 1000ms 256MiB

颜色区间统计

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

颜色区间统计

题目描述

小沙正在研究一个有趣的染色问题。现在有一个长度为 nn 的序列,序列中的每个元素都有颜色。序列中只有两种颜色:红色(用数字 11 表示)和蓝色(用数字 22 表示)。

小沙对某些特定的区间特别感兴趣。他定义了一个"好区间":如果一个区间内数量较多的颜色出现次数不少于 AA 个,同时数量较少的颜色出现次数不少于 BB 个,则称这个区间为"好区间"。

现在,小沙想知道在给定的序列中,有多少个连续的子区间(连续的一段元素)是"好区间"。

输入格式

第一行包含三个正整数 nn, AA, BB,分别表示序列长度和两种颜色的最少出现次数。

第二行包含 nn 个正整数,第 ii 个数 cic_i 表示第 ii 个位置的颜色(11 表示红色,22 表示蓝色)。

输出格式

输出一个整数,表示"好区间"的数量。

5 1 2
1 2 1 2 1
3

样例解释

样例1分析:n=5n=5, A=1A=1, B=2B=2, 序列=[1,2,1,2,1][1,2,1,2,1]

  • 区间 [1,4]=[1,2,1,2][1,4] = [1,2,1,2]: 红色(1)有2个,蓝色(2)有2个。max(2,2)1max(2,2) \ge 1min(2,2)2min(2,2)\ge 2,满足条件

  • 区间 [1,5]=[1,2,1,2,1][1,5] = [1,2,1,2,1]: 红色(1)有3个,蓝色(2)有2个。max(3,2)1max(3,2)\ge 1min(3,2)2min(3,2)\ge 2,满足条件

  • 区间 [2,5]=[2,1,2,1][2,5] = [2,1,2,1]: 红色(1)有2个,蓝色(2)有2个。max(2,2)1max(2,2)\ge 1min(2,2)2min(2,2)\ge 2,满足条件

所以共有 33 个"好区间"。


20 3 4
1 2 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 1 2 1
88

数据范围

对于 25%25\% 的数据:1n1001 \leq n \leq 100

对于 50%50\% 的数据:1n50001 \leq n \leq 5000

对于 100%100\% 的数据:1n2×1051 \leq n \leq 2 \times 10^5, 1A,Bn1 \leq A, B \leq n, ci{1,2}c_i \in \{1, 2\}

提示

注意使用高效的算法解决此问题,暴力算法可能会超时。

7,8年级期末考试

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-1-16 19:00
结束于
2026-1-16 21:00
持续时间
2 小时
主持人
参赛人数
32