T281298 跑步
题目背景
因为题目太难,同学们集体罢工不在考试,于是统统到操场跑步去了。
等等,好熟悉的感觉,搞戳啦,重来。
因为djc强烈要求让他成为题目中的主角,所以......
由于djc某次考试看错题了,所以他打算把看错的题拿给你做,仔细读题哟!!!不然你就会成为下一个
djc。
题目描述
俯视操场,把操场看成一个平面,建立平面直角坐标系。 同学们分成了两组。
第一组的同学刚开始站在 $x$ 轴上,位置在 $(p_i,0)$,他们的跑动速度都是 $(0,v_1)$(即:向 $y$ 轴方向以
速度 $v_1$ 跑动)。每个人有一个视野范围 $w_i$,也就是说,当他位于坐标 $(x,y)$ 时,**它能够看见点 $(x,y)$ 到
点 $(x,y+w_i)$ 这条线段上的人(包含端点)。**
第二组的同学站在 $y$ 轴上,位置在 $(0,p_i)$ 上,他们的跑动速度都是 $v_2$(即:向 $x$ 轴方向以 $v_2$ 速度跑
动)。每个人有一个视野范围 $w_i$,也就是说,当他位于坐标 $(x,y)$ 时,它能够看见点 $(x,y)$ 到点
$(x+w_i,y)$ 这条线段上的人(包含端点)。
同学们都有一个自己的出现时间 $t_i$,可以理解为,在 $t_i$ 时间,这个同学会出现在自己的位置上,然后按
照自己的速度开始奔跑。 每位同学在自己奔跑的时候,会记录自己视野范围内出现的人,现在你需要求
出每位同学在自己奔跑的 过程中,能记录到多少个不同的人(不包括自己)。(假设时间无限,一直跑
下去)
输入格式
一行,三个整数,$n$,$v_1$,$v_2$。
接下来 $n$ 行,每行四个整数 $a_i$,$t_i$,$p_i$,$w_i$,分别表示这个同学时第 $a_i$ 组的同学,他的出现时间是 $t_i$,
位置参数是 $p_i$,视野范围是 $w_i$。
输出格式
$n$ 行,第 $i$ 行表示第 $i$ 个人在跑步过程中一共看见的不同的人数。
说明/提示
【样例 1 解释】
两人会在 $(1,2)$ 处相遇,故可以互相看到对方
【样例 2 解释】
第二个人会在第一个人出现之前走出其可能的视线范围(即横坐标超过1)
**【数据范围】**
Subtask 1
保证数据为原数据范围。
其中对于 Subtask 1 中
有 $30\%$ 数据满足,$n\le 1000$。
有 $50\%$ 数据满足,$v_1=v_2=1$。
对于 $100\%$ 的数据满足,$1\le n, v_1,v_2,t_i,p_i,w_i\le 10^5$,$a_i\in \{1,2\}$。
保证同组的同学中,任意两个同学的 $p_i$ 不相同。
Subtask 2
对于 $100\%$ 的数据满足,$1\le n\le 10^6$,$1\le v_1,v_2,t_i,p_i,w_i\le 10^5$,$a_i\in \{1,2\}$。