CF2151A Incremental Subarray

题目描述

[Schtiffles - Marbl](https://soundcloud.com/schtiffles/marbl) ⠀ James 正在学习数字,并且他很开心地从左到右地把数字写在一块巨大的黑板上。 - 一开始,James 写下数字 $1$。 - 接着,James 再次写下 $1$,然后写下 $2$。 - 然后 James 写下 $1$、$2$、$3$。 - $ \ldots $ - 最后,James 依次写下 $1$、$2$、$3$、$\ldots$、$n$。 例如,当 $n=5$ 时,James 写下的数字构成了数组 $b = [1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5]$。 James 有一个喜欢的数字列表 $a_1, a_2, \ldots, a_m$,他想要统计数组 $b$ 中有多少个子数组与 $a_1, a_2, \ldots, a_m$ 完全相同。$^{\ast}$ James 已经确定 $a_1, a_2, \ldots, a_m$ 一定是 $b$ 的一个子数组,所以答案至少为 $1$。 $^{\ast}$ 数组 $[v_1, v_2, \ldots, v_k]$ 的子数组定义为:对于每一对 $l, r$ 满足 $1 \leq l \leq r \leq k$,子数组为 $[v_l, v_{l+1}, \ldots, v_r]$。因此总共有 $k(k+1)/2$ 个子数组,其中可能有些是完全相同的。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 500$),表示测试用例数量。每组测试用例的描述如下: 每组测试用例的第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 10^5$,$1 \leq m \leq 200$)——James 要写的最大数字 $n$ 以及数组 $a_1, \ldots, a_m$ 的长度。 第二行包含 $m$ 个整数 $a_1, a_2, \ldots, a_m$($1 \leq a_i \leq 10^5$)——James 喜欢的数字。 保证在所有输入数据中,答案至少为 $1$。 注意:所有测试用例的 $n$ 与 $m$ 并没有总和限制。

输出格式

对于每组测试用例,输出一行一个整数,表示数组 $b$ 中等于 $a_1, a_2, \ldots, a_m$ 的子数组数量。

说明/提示

在第一个测试用例中,黑板上的数字为 $$ b = [1, 1, 2, 1, 2, 3, 1, 2, 3, 4] $$ James 只有一个喜欢的数字:$1$。$b$ 中有 $4$ 个子数组等于 $[1]$(用红色标记): - $[\red{1}, 1, 2, 1, 2, 3, 1, 2, 3, 4]$; - $[1, \red{1}, 2, 1, 2, 3, 1, 2, 3, 4]$; - $[1, 1, 2, \red{1}, 2, 3, 1, 2, 3, 4]$; - $[1, 1, 2, 1, 2, 3, \red{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, \red{1, 2, 3}, 1, 2, 3, 4, 1, 2, 3, 4, 5]$; - $[1, 1, 2, 1, 2, 3, \red{1, 2, 3}, 4, 1, 2, 3, 4, 5]$; - $[1, 1, 2, 1, 2, 3, 1, 2, 3, 4, \red{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, \red{3, 1, 2, 3, 4, 1}, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6]$。 由 ChatGPT 5 翻译