#P15582. [2025年山东第一轮集训]果

    ID: 14794 传统题 4000ms 512MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>计算几何数据结构扫描线树状数组数论算法基础模拟CF2500

[2025年山东第一轮集训]果

题目描述

有一个 m×mm \times m 的平面,给定 nn 个点,第 ii 个点位于平面的 (xi,yi)(x_i,y_i) 处,并有一个权值 aia_i 。定义一组方案为选择无序三元组 (i,j,k)(i,j,k) 满足 i,j,ki,j,k 互不相同且 i<j<ki < j < k,该方案的权值为 ai+aj+aka_i+a_j+a_k 。我们称一组方案是合法的,当且仅当,我们取出 (i,j),(j,k),(i,k)(i,j),(j,k),(i,k) 这三对点对的曼哈顿距离,取出中位数 mid\text{mid} ,若该数 mid\text{mid} 为质数,且满足(midmod20=3\text{mid} \bmod 20 = 3mid10\text{mid} \leq 10),则该方案是合法的。

统计在所有的 n×(n1)×(n2)×(61)n \times (n-1) \times (n-2)\times (6^{-1}) 种方案中,所有合法方案的权值和。

(x0,y0)(x_0,y_0) 和点 (x1,y1)(x_1,y_1) 的曼哈顿距离为 x0x1+y0y1|x_0-x_1| + |y_0-y_1|

输入格式

本题开启多组测试。输入的第一行包含一个正整数 TT ,表示测试数据组数。对于每组测试数据:

输入的第一行包含两个正整数 n,mn,m ,分别表示点的数量和平面的大小。

接下来 nn 行,每行两个正整数 xi,yix_i,y_i ,表示第 ii 个点的坐标为 (xi,yi)(x_i,y_i)

接下来一行 nn 个正整数,第 ii 个正整数 aia_i 表示点 ii 的权值。

输出格式

对于每组测试数据:输出一行一个整数,表示所有合法方案的权值和。

样例输入

2
3 5
1 1
2 2
3 3
1 2 3
10 30000
10177 27751
21553 29797
841 12385
23419 3661
20193 17395
18156 1566
5275 7233
29329 21553
12033 13381
14185 18697
1 2 3 4 5 6 7 8 9 10

样例输出

6
0

数据范围

对于 100%100\% 的数据,保证 $1 \leq T \leq 5,1 \leq n \leq 8000 , 1 \leq m \leq 30000 , 1 \leq a_i \leq 10^{6} , 1 \leq x_i , y_i \leq m$ ,保证所有点在坐标范围内随机均匀生成,且任意不同编号的点的坐标不同。

测试点编号 nn \leq 特殊限制
141 \sim 4 100100
5105 \sim 10 30003000 保证所有点的权值均为 11
111411 \sim 14 40004000
152015 \sim 20% 80008000 T=2T=2