CF1016E.Rest In The Shades

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There is a light source on the plane. This source is so small that it can be represented as point. The light source is moving from point (a,sy)(a, s_y) to the (b,sy)(b, s_y) (sy<0)(s_y \lt 0) with speed equal to 11 unit per second. The trajectory of this light source is a straight segment connecting these two points.

There is also a fence on OXOX axis represented as nn segments (li,ri)(l_i, r_i) (so the actual coordinates of endpoints of each segment are (li,0)(l_i, 0) and (ri,0)(r_i, 0)). The point (x,y)(x, y) is in the shade if segment connecting (x,y)(x,y) and the current position of the light source intersects or touches with any segment of the fence.

You are given qq points. For each point calculate total time of this point being in the shade, while the light source is moving from (a,sy)(a, s_y) to the (b,sy)(b, s_y).

平面上有一个光源。该光源非常小,可视为一个点。光源从点 (a,sy)(a, s_y) 沿直线匀速移动至点 (b,sy)(b, s_y)(其中 sy<0s_y < 0),速度为每秒 11 单位长度。其运动轨迹即为连接这两点的线段。

在 OXOX 轴上还有一道由 nn 个线段 (li,ri)(l_i, r_i) 构成的栅栏(即每个线段的实际端点坐标为 (li,0)(l_i, 0) 和 (ri,0)(r_i, 0))。若连接点 (x,y)(x, y) 与光源当前所在位置的线段与栅栏中任意一段有交点或相切,则称点 (x,y)(x, y) 处于阴影中。

现给出 qq 个点,对每个点,请计算当光源从 (a,sy)(a, s_y) 移动到 (b,sy)(b, s_y) 的整个过程中,该点处于阴影中的总时间。

输入格式

First line contains three space separated integers sys_y, aa and bb (−109≤sy<0-10^9 \le s_y \lt 0, 1≤a<b≤1091 \le a \lt b \le 10^9) — corresponding coordinates of the light source.

Second line contains single integer nn (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5) — number of segments in the fence.

Next nn lines contain two integers per line: lil_i and rir_i (1≤li<ri≤1091 \le l_i \lt r_i \le 10^9, ri−1<lir_{i - 1} \lt l_i) — segments in the fence in increasing order. Segments don't intersect or touch each other.

Next line contains single integer qq (1≤q≤2⋅1051 \le q \le 2 \cdot 10^5) — number of points to check.

Next qq lines contain two integers per line: xix_i and yiy_i (1≤xi,yi≤1091 \le x_i, y_i \le 10^9) — points to process.

第一行包含三个以空格分隔的整数 sys_y、aa 和 bb(−109≤sy<0-10^9 \le s_y \lt 0,1≤a<b≤1091 \le a \lt b \le 10^9)—— 分别表示光源的坐标。

第二行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5)—— 围栏中线段的数量。

接下来 nn 行,每行包含两个整数:lil_i 和 rir_i(1≤li<ri≤1091 \le l_i \lt r_i \le 10^9,且 ri−1<lir_{i - 1} \lt l_i)—— 按升序排列的围栏线段。这些线段互不相交,也不相接。

下一行包含一个整数 qq(1≤q≤2⋅1051 \le q \le 2 \cdot 10^5)—— 待查询的点的数量。

接下来 qq 行,每行包含两个整数:xix_i 和 yiy_i(1≤xi,yi≤1091 \le x_i, y_i \le 10^9)—— 待处理的点。

输出格式

Print qq lines. The ii-th line should contain one real number — total time of the ii-th point being in the shade, while the light source is moving from (a,sy)(a, s_y) to the (b,sy)(b, s_y). The answer is considered as correct if its absolute of relative error doesn't exceed 10−610^{-6}.

输出 qq 行。第 ii 行应包含一个实数——当光源从 (a,sy)(a, s_y) 移动到 (b,sy)(b, s_y) 时,第 ii 个点处于阴影中的总时间。若答案的绝对误差或相对误差不超过 10−610^{-6},则视为正确。

输入输出样例

  • 输入#1

    -3 1 6
    2
    2 4
    6 7
    5
    3 1
    1 3
    6 1
    6 4
    7 6

    输出#1

    5.000000000000000
    3.000000000000000
    0.000000000000000
    1.500000000000000
    2.000000000000000

说明/提示

  • The 1-st point is always in the shade;

  • the 2-nd point is in the shade while light source is moving from (3,−3)(3, -3) to (6,−3)(6, -3);

  • the 3-rd point is in the shade while light source is at point (6,−3)(6, -3).

  • the 4-th point is in the shade while light source is moving from (1,−3)(1, -3) to (2.5,−3)(2.5, -3) and at point (6,−3)(6, -3);

  • the 5-th point is in the shade while light source is moving from (1,−3)(1, -3) to (2.5,−3)(2.5, -3) and from (5.5,−3)(5.5, -3) to (6,−3)(6, -3);

  • 第1个点始终处于阴影中;

  • 第2个点在光源从 (3,−3)(3, -3) 移动到 (6,−3)(6, -3) 的过程中处于阴影中;

  • 第3个点在光源位于点 (6,−3)(6, -3) 时处于阴影中;

  • 第4个点在光源从 (1,−3)(1, -3) 移动到 (2.5,−3)(2.5, -3) 的过程中以及位于点 (6,−3)(6, -3) 时处于阴影中;

  • 第5个点在光源从 (1,−3)(1, -3) 移动到 (2.5,−3)(2.5, -3) 的过程中以及从 (5.5,−3)(5.5, -3) 移动到 (6,−3)(6, -3) 的过程中处于阴影中。

输入解题思路,AI测评打分。不知道怎么写?

首页