C. [CSP-S 2026] 迁徙 / migrate

    传统题 1000ms 512MiB

[CSP-S 2026] 迁徙 / migrate

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

海上有 nn 座岛屿,自北向南排成一条直线,其中第 ii(1≤i≤n1\le i\le n)座岛屿在这条直线上的坐标为整数 xix_i,且 x1<x2<⋯<xnx_1<x_2<\cdots<x_n。每年秋季,一群海鸟会沿着这条直线在南北方向上迁徙,小 P 正在观察它们。

海鸟的体力有限,每次飞行的距离都不超过 dd。若两座岛屿 i,ji,j 满足 ∣xi−xj∣≤d|x_i-x_j|\le d,海鸟就可以从第 ii 座岛屿直接飞到第 jj 座岛屿。

对于两座不同的岛屿 u,vu,v,一条从第 uu 座岛屿到第 vv 座岛屿的路径形如 y1→y2→⋯→yℓy_1\to y_2\to\cdots\to y_\ell,其中 y1=uy_1=u,yℓ=vy_\ell=v,且相邻岛屿间可以直接飞行。路径的长度为 ℓ−1\ell-1,即海鸟在路径中飞行的次数。

对于两座岛屿 u,vu,v(1≤u<v≤n1\le u<v\le n),若从第 uu 座岛屿到第 vv 座岛屿的最短路径恰好有两条,则称 (u,v)(u,v) 为双径岛屿对。两条路径不同,当且仅当它们经过的岛屿序列不完全相同。

你需要帮助小 P 求出双径岛屿对的数量。

输入格式

本题包含多组测试数据。

第一行包含两个非负整数 c,tc,t,分别表示测试点编号与测试数据组数。若 c=0c=0,则该测试点为样例。

接下来依次输入 tt 组测试数据。对于每组数据:

  • 第一行包含两个正整数 n,dn,d,分别表示岛屿数量和海鸟一次最多能飞行的距离。
  • 第二行包含 nn 个严格递增的整数 x1,x2,…,xnx_1,x_2,\ldots,x_n,依次表示每座岛屿的坐标。

输出格式

对于每组测试数据,输出一行一个非负整数,表示双径岛屿对的数量。

样例

0 2
4 2
1 2 3 4
5 2
1 2 3 4 5
1
2
0 2
5 3
-2 -1 0 1 2
6 2
-4 -3 -2 -1 3 6
0
1

数据范围

设 NN 为单个测试点内所有测试数据的 nn 的和。对于所有测试数据,0≤c≤250\le c\le25,2≤t≤1052\le t\le10^5,1≤n≤2×1061\le n\le2\times10^6,N≤2×106N\le2\times10^6,1≤d≤2×10181\le d\le2\times10^{18},−1018≤x1<x2<⋯<xn≤1018-10^{18}\le x_1<x_2<\cdots<x_n\le10^{18}。

测试点编号 N≤N\le 特殊性质
1~2 9 无
3~6 300
7~10 5000
11~12 2×1062\times10^6 A
13~14 B
15~18 10610^6 C
19~21 2×1052\times10^5 无
22~25 2×1062\times10^6

特殊性质 A:x1,x2,…,xnx_1,x_2,\ldots,x_n 构成等差数列。

特殊性质 B:存在一座岛屿,使得海鸟可以从该岛屿直接飞到任意其他岛屿。

特殊性质 C:xn−x1≤10dx_n-x_1\le10d。

CSP-S 2026 提高组自测赛

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-10-31 21:30
结束于
2026-11-11 12:30
持续时间
255 小时
主持人
参赛人数
13