[Ynoi Easy Round 2021] TEST_136

题目描述

给定 $n$ 个点 $(x_i,y_i,c_i)$,$i=1,2,\dots,n$,共有 $m$ 次查询操作,每次查询给定 $A,B,C$,问满足 $Ax_i+By_i+C<0$,$Ax_j+By_j+C<0$,$c_i=c_j$ 的二元组 $(i,j)$ 的个数。

输入输出格式

输入格式


第一行两个整数 $n\ m$; 接下来 $n$ 行,每行三个整数 $x_i\ y_i\ c_i$,$i=1,2,\dots,n$; 接下来 $m$ 行,每行三个整数 $A\ B\ C$。

输出格式


共 $m$ 行,每行一个整数,表示答案。

输入输出样例

输入样例 #1

5 2
2 -1 1
0 -3 5
1 -3 2
1 3 5
3 2 2
1 2 4
1 -2 -9

输出样例 #1

2
9

说明

Idea:nzhtl1477,Solution:ccz181078,Code:ccz181078,Data:ccz181078 样例解释: 第一个查询对应 $(2,2)(3,3)$; 第二个查询对应 $(1,1)(2,2)(2,4)(3,3)(3,5)(4,2)(4,4)(5,3)(5,5)$。 数据范围: 对 $5\%$ 的数据,$n,m\le 10^3$; 对另外 $10\%$ 的数据,$c_i\le 2$; 对另外 $15\%$ 的数据,$c_i\le 100$; 对另外 $15\%$​ 的数据,$\max(|x_i|,|y_i|)=10^6$​; 对另外 $15\%$ 的数据,$|A|=|B|=1$; 对另外 $10\%$ 的数据,$n\le 20000,\;m\le 200000$; 对于其余数据,无特殊约束。 每部分数据构成子任务,无依赖关系。 所有数据满足: $1\le n\le 50000$; $1\le m\le 500000$; $A^2+B^2>0$; $-10^9\le x_i,y_i,A,B,C\le 10^9$; $1\le c_i\le n$; 所有数值为整数; 当 $i\ne j$ 时,$x_i\ne x_j$ 或 $y_i\ne y_j$。 对于除了子任务 4 以外的数据,满足 $n$ 个点的 $x,y$ 坐标分别在某个预设的区间内均匀随机选取,并保证没有重复的点,且对于第 $i$ 个点,$c_i$ 和 $x_i,y_i$ 是分别独立地随机选取的,但 $c_i$ 的分布没有特殊限制。