#1728. [CSP-S 2026] 迁徙 migrate

[CSP-S 2026] 迁徙 migrate

[CSP-S 2026] 迁徙 migrate(民间数据)

题目描述

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

海鸟的体力有限,每次飞行的距离都不超过 dd。若两座岛屿 i,ji,j(1lei,jlen1 le i,j le n)满足 xi−xjledx_i-x_j le d,海鸟就可以从第 ii 座岛屿直接飞到第 jj 座岛屿。

对于两座不同的岛屿 u,vu,v(1leu,vlen1 le u,v le n),一条从第 uu 座岛屿到第 vv 座岛屿的路径形如 y1toy2tocdotstoymy_1 to y_2 to cdots to y_m,其中 y1=uy_1=u,ym=vy_m=v,且对于所有 ll(1lellem−11 le l le m-1),海鸟都能够从第 yly_l 座岛屿直接飞到第 yl+1y_{l+1} 座岛屿;其长度为 m−1m-1,即海鸟在路径中飞行的次数。

小 P 发现,海鸟在迁徙时总是会选择长度最短的路径。对于两座岛屿 u,vu,v(1leuvlen1 le u v le n),若从第 uu 座岛屿到第 vv 座岛屿的长度最短的路径恰好有两条,海鸟可以分成两群,分别沿其中一条飞往第 vv 座岛屿;此时称 (u,v)(u,v) 为双径岛屿对。两条路径不同,当且仅当它们经过的岛屿序列不完全相同。

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

输入格式

从文件 migrate.in 中读入数据。

本题包含多组测试数据。

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

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

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

输出格式

输出到文件 migrate.out 中。

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

输入输出样例 #1

输入 #1

0 2
4 2
1 2 3 4
5 2
1 2 3 4 5

输出 #1

1
2

输入输出样例 #2

输入 #2

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

输出 #2

0
1

说明提示

样例 1 解释

该样例共包含两组测试数据。

对于第一组测试数据,仅有 11 个双径岛屿对 (1,4)(1,4)。从第 11 座岛屿到第 44 座岛屿有两条长度最短的路径,分别为 1to2to41 to 2 to 4 和 1to3to41 to 3 to 4。

对于第二组测试数据,共有 22 个双径岛屿对,分别为 (1,4)(1,4) 和 (2,5)(2,5)。从第 11 座岛屿到第 55 座岛屿只有一条长度最短的路径 1to3to51 to 3 to 5,因此 (1,5)(1,5) 不是双径岛屿对。

样例 2 解释

该样例共包含两组测试数据。

对于第一组测试数据,共有 00 个双径岛屿对。从第 11 座岛屿到第 55 座岛屿有三条长度最短的路径,分别为 1to2to51 to 2 to 5,1to3to51 to 3 to 5 和 1to4to51 to 4 to 5,因此 (1,5)(1,5) 不是双径岛屿对。

对于第二组测试数据,仅有 11 个双径岛屿对 (1,4)(1,4)。从第 11 座岛屿到第 44 座岛屿有两条长度最短的路径,分别为 1to2to41 to 2 to 4 和 1to3to41 to 3 to 4。第 55 座和第 66 座岛屿均无法到达任何其他岛屿。

样例 3

见题目目录下的 migrate3.in 与 migrate3.ans。

该样例满足测试点 3sim63 sim 6 的约束条件。

样例 4

见题目目录下的 migrate4.in 与 migrate4.ans。

该样例满足测试点 11,1211,12 的约束条件。

样例 5

见题目目录下的 migrate5.in 与 migrate5.ans。

该样例满足测试点 15sim1815 sim 18 的约束条件。

样例 6

见题目目录下的 migrate6.in 与 migrate6.ans。

该样例满足测试点 19sim2119 sim 21 的约束条件。

数据范围

设 NN 为单个测试点内所有测试数据的 nn 的和。对于所有测试数据,均有:

  • 0lecle250 le c le 25,2letle1052 le t le 10^5;
  • 1lenle2times1061 le n le 2 times 10^6,Nle2times106N le 2 times 10^6,1ledle2times10181 le d le 2 times 10^{18};
  • −1018lex1x2cdotsxnle1018-10^{18} le x_1 x_2 cdots x_n le 10^{18}。

cute-table{tuack} 测试点编号 NleN le 特殊性质


1,21,2 99 无 3sim63 sim 6 300300 ^ 7sim107 sim 10 50005000 ^ 11,1211,12 2times1062 times 10^6 A 13,1413,14 ^ B 15sim1815 sim 18 10610^6 C 19sim2119 sim 21 2times1052 times 10^5 无 22sim2522 sim 25 2times1062 times 10^6 ^

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

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

特殊性质 C:xn−x1le10dx_n-x_1 le 10d。