SP8409 FAVSUBS - Favorite Sub Hair

题目描述

小公主乐佩拥有一头非常长的金发,这头发不仅长,而且具有神奇的治愈能力。在经历了一段幸福的故事后,她嫁给了爱人弗林。他们决定过上普通人的生活,于是准备剪掉这神秘的头发。头发一旦被剪掉,就会失去力量,变成棕色。 乐佩的头发上按顺序装饰着许多彩色珠子,其中有 **K** 种是她最喜欢的颜色,记作数组 **B**\[1...K\]。 为了留住美好回忆,她想在剪掉头发后保留一部分。所谓的“最喜欢的子串”指的是头发中一段连续的部分,其中每种她喜欢的珠子颜色至少出现一次。 在这个问题中,我们用整数表示颜色,并将头发表示为一个数组 **A**\[1...N\],这个数组包含了按顺序排列的 **N** 个彩色珠子。请你帮她计算,能有多少种不同的方式剪下一个“最喜欢的子串”。如果两个子数组在 **A** 中的起始或结束位置不同,即使内容相同,也被视为不同。

输入格式

第一行输入测试用例的数量 **T**(大约 10 个)。每个测试用例的前面都有一个空行,包括第一个用例。颜色值的范围为 \[-2,000,000, 2,000,000\]。 每个测试用例由以下四行组成: 1. 第一行包含一个整数 **N** \[1 ≤ N ≤ 100,000\],表示数组 **A** 的长度。 2. 第二行包含 **N** 个整数,表示数组 **A**,是由空格分隔的珠子颜色。 3. 第三行包含一个整数 **K** \[1 ≤ K ≤ 1,000\],表示喜爱的颜色的数量。 4. 第四行包含 **K** 个整数,表示数组 **B**,是乐佩喜爱的颜色,不重复。

输出格式

对于每个测试用例,输出一种能包含所有她喜爱的颜色至少一次的不同子数组数量,每个结果占一行。 **本翻译由 AI 自动生成**