#A. 区间距离

    Type: Default 1000ms 32MiB

区间距离

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

区间距离

题目描述

请注意特殊的内存限制。

定义两个长度为 ll 的序列 AABB 的距离为使得 aibia_i\ne b_i 的满足 1il1\le i\le lii 的个数。

现在给定一个数组 a1,a2,...,ana_1,a_2,...,a_n ,它显然有 nl+1n-l+1 个长为 ll 的连续子序列,其中第 kk 个为 ak,ak+1,...,ak+l1a_k,a_{k+1},...,a_{k+l-1}

现在有 qq 次询问,每次询问给定一个整数 kjk_j ,你需要对序列中的每个长度为 ll 的区间,求出与该区间距离不超过 kjk_j 的区间个数(不包括本身)。

输入格式

输入的第一行包含两个整数 n,ln,l,分别表示数组长度和指定长度。

第二行包含 nn 个空格隔开的整数 a1,a2,,ana_1, a_2, \ldots, a_naia_i 表示数组。

第三行包含一个整数 qq,表示询问次数。

接下来 qq 行,每行包含一个整数 kjk_j,表示第 jj 个询问的距离范围。

输出格式

输出 qq 行,第 jj 行包含 nl+1n-l+1 个空格隔开的整数,表示第 jj 个询问的答案。一行中的第 ii 个数表示与第 ii 个区间距离不超过 kjk_j 的不包括本身的区间数量。

样例 #1

样例输入 #1

6 2
1 2 1 3 2 1
2
1
2

样例输出 #1

2 1 1 1 1
4 4 4 4 4

提示

样例解释

整个序列有五个长度为 22 的区间:

  • 第一个区间包含 11 22
  • 第二个区间包含 22 11
  • 第三个区间包含 11 33
  • 第四个区间包含 33 22
  • 第五个区间包含 22 11

共有两个询问。

第一个询问 k=1k=1。第一个和第三个区间——11 2211 33——只有第一个位置不同,所以他们的距离为 11。类似地,第一个和第四个区间——11 2233 22——只有第二个位置不同,所以他们的距离为 11。与第一个区间相似度为 11 的区间只有这两个,所以第一个数输出 22

第二个询问 k=2k=2,所有区间距离都不超过 22

数据规模与约定

对于 100%100\% 的数据,$1\le n\le 10^4,\ 1\le a_i\le 10^9,\ 1\le q\le 100,\ 0\le k_j\le l$。

子任务 附加限制 分值
11 n300n \le 300 2525
22 n2000n \le 2000 2020
33 q=1,k1=0q=1, k_1=0
44 q=1q=1 1515
55 无附加限制 2020

20241128集训

Not Attended
Status
Done
Rule
IOI
Problem
3
Start at
2024-11-28 19:00
End at
2024-11-28 21:00
Duration
2 hour(s)
Host
Partic.
15