#P15585. [2025年山东第一轮集训] 宇宙

    ID: 14797 传统题 4000ms 1024MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>计算几何数据结构线段树凸包算法基础模拟CF3000

[2025年山东第一轮集训] 宇宙

题目描述

平面上有 nn 个整点,第 ii 个整点的坐标为 (xi,yi)(x_i,y_i) 。有 mm 次询问,每次给定两个点 (ai,bi)(a_i,b_i)(ci,di)(c_i,d_i) ,考虑以点 (ai,bi)(a_i,b_i) 到点 (ci,di)(c_i,d_i) 的连线作为对角线的正方形,请判断该正方形的内部或边界上是否存在至少一个输入的整点。

输入格式

输入的第一行包含两个正整数 n,mn,m ,表示点的数量和询问次数。

接下来 nn 行每行包含两个正整数 xi,yix_i,y_i ,表示给定的一个整点坐标 (xi,yi)(x_i,y_i)

接下来 mm 行每行包含四个正整数 ai,bi,ci,dia_i,b_i,c_i,d_i ,表示一次询问,保证 (ai,bi)(ci,di)(a_i,b_i) \not = (c_i,d_i)

输出格式

输出有 mm 行,第 ii 行表示第 ii 个询问的答案,若正方形有整点则输出 Yes ,否则输出 No

说明/提示

本题开启子任务评测。对于所有数据,保证 1n,m2×1051 \leq n , m \leq 2 \times 10^{5} ,所有点的坐标值均满足 $1 \leq x_i , y_i , a_i , b_i , c_i , d_i \leq 10^{8}$ 。

子任务 1( 2020 分 ):保证 n,m1000n,m \leq 1000

子任务 222020 分 ):保证 n,m50000n,m \leq 50000

子任务 332020 分 ):保证 n,m80000n,m \leq 80000

子任务 442020 分 ):保证 n,m1.2×105n,m \leq 1.2 \times 10^{5}

子任务 552020 分 ):无特殊限制。

样例输入

4 4
4 7
5 8
6 4
9 6
6 4 5 8
6 6 7 7
7 5 9 11
5 3 6 6

样例输出

Yes
No
Yes
Yes