CF2151A.Incremental Subarray
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
⠀
James 正在学习数字,并且他很开心地从左到右地把数字写在一块巨大的黑板上。
- 一开始,James 写下数字 1。
- 接着,James 再次写下 1,然后写下 2。
- 然后 James 写下 1、2、3。
- $ \ldots $
- 最后,James 依次写下 1、2、3、…、n。
例如,当 n=5 时,James 写下的数字构成了数组 b=[1,1,2,1,2,3,1,2,3,4,1,2,3,4,5]。
James 有一个喜欢的数字列表 a1,a2,…,am,他想要统计数组 b 中有多少个子数组与 a1,a2,…,am 完全相同。∗
James 已经确定 a1,a2,…,am 一定是 b 的一个子数组,所以答案至少为 1。
∗ 数组 [v1,v2,…,vk] 的子数组定义为:对于每一对 l,r 满足 1≤l≤r≤k,子数组为 [vl,vl+1,…,vr]。因此总共有 k(k+1)/2 个子数组,其中可能有些是完全相同的。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤500),表示测试用例数量。每组测试用例的描述如下:
每组测试用例的第一行包含两个整数 n 和 m(1≤n≤105,1≤m≤200)——James 要写的最大数字 n 以及数组 a1,…,am 的长度。
第二行包含 m 个整数 a1,a2,…,am(1≤ai≤105)——James 喜欢的数字。
保证在所有输入数据中,答案至少为 1。
注意:所有测试用例的 n 与 m 并没有总和限制。
输出格式
对于每组测试用例,输出一行一个整数,表示数组 b 中等于 a1,a2,…,am 的子数组数量。
输入输出样例
输入#1
5 4 1 1 5 3 1 2 3 6 6 3 1 2 3 4 1 100000 1 100000 4 2 1 1
输出#1
4 3 1 1 1
说明/提示
在第一个测试用例中,黑板上的数字为
b=[1,1,2,1,2,3,1,2,3,4]
James 只有一个喜欢的数字:1。b 中有 4 个子数组等于 [1](用红色标记):
- [1,1,2,1,2,3,1,2,3,4];
- [1,1,2,1,2,3,1,2,3,4];
- [1,1,2,1,2,3,1,2,3,4];
- [1,1,2,1,2,3,1,2,3,4]。
在第二个测试用例中,黑板上的数字为
b=[1,1,2,1,2,3,1,2,3,4,1,2,3,4,5]
James 的喜欢数字列表是 [1,2,3]。b 中有 3 个子数组等于 [1,2,3](用红色标记):
- [1,1,2,1,2,3,1,2,3,4,1,2,3,4,5];
- [1,1,2,1,2,3,1,2,3,4,1,2,3,4,5];
- [1,1,2,1,2,3,1,2,3,4,1,2,3,4,5]。
在第三个测试用例中,黑板上的数字为
b=[1,1,2,1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6]
James 的喜欢数字列表是 [3,1,2,3,4,1]。b 中只有 1 个子数组等于 [3,1,2,3,4,1](用红色标记):
- [1,1,2,1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6]。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?