#CF2149E. Hidden Knowledge of the Ancients
Hidden Knowledge of the Ancients
题目描述
在 Deepwoken 的世界中,存在着一件古老的神器——无限知识石板,上面刻有一串由 个神秘符号组成的序列(每个符号为一个整数)。
传说,只有找到所有的神圣碎片,才能揭示神器真正的力量——神圣碎片指的是石板上所有正好包含 个不同数字的连续片段,且它们的长度要在 到 之间(包含 和 )。
形式化地说:给定长度为 的序列 ,以及整数 ,你需要找出所有满足以下条件的边界 与 的数目:
- ;
- 元素 恰好包含 个不同的数字;
- 。
输入格式
每个测试用例包含多组数据。
第一行包含一个整数 ()——表示测试用例的数量。
接下来依次描述每组测试用例。
每组测试用例第一行包含四个整数 ($1 \leq k \leq n \leq 2 \cdot 10^5, 1 \leq l \leq r \leq n$)。
第二行包含 个整数 ()——神秘符号序列。
保证所有测试用例中 的总和不超过 。
输出格式
对于每组测试用例,输出一个整数,占一行——满足条件的连续子数组的数量。
样例
5
1 1 1 1
5
5 2 2 3
1 2 1 3 2
6 3 1 6
1 2 3 1 2 3
4 1 1 2
7 7 7 7
7 3 2 4
1 2 1 2 3 2 1
1
5
10
7
5
样例说明
在第一个测试用例中 ,只有一个子数组 ,长度为 ,恰好包含 个不同的数字。
在第四个测试用例 中,任意子数组都只有 个不同的数字。可能的子数组范围如下:
- 长度为 : 、、、。
- 长度为 : 、、。
共 个。
在第五个测试用例 中:
- 长度为 :所有子数组都只包含 个不同的数字。
- 长度为 : 、。
- 长度为 : 、、。
共 个。
由 ChatGPT 5 翻译
来源
Codeforces 2149E,英文题名 Hidden Knowledge of the Ancients。