「雅礼集训 2017 Day2」线段游戏

「雅礼集训 2017 Day2」线段游戏

题目描述

给出若干条线段,用 (x1,y1),(x2,y2)(x_1, y_1), (x_2, y_2)(x1​,y1​),(x2​,y2​) 表示其两端点坐标,现在要求支持两种操作:

0 x1 y1 x2 y2 表示加入一条新的线段 (x1,y1),(x2,y2)(x_1, y_1), (x_2, y_2)(x1​,y1​),(x2​,y2​);

1 x0 询问所有线段中,xxx 坐标在 x0x_0x0​ 处的最高点的 yyy 坐标是什么,如果对应位置没有线段,则输出 000。

输入格式

第一行两个正整数 nnn、mmm 为初始的线段个数和操作个数。

接下来 nnn 行,每行四个整数,表示一条线段。

接下来 mmm 行,每行为一个操作 0 x1 y1 x2 y2 或 1 x0。

输出格式

对于每一个询问操作,输出一行,为一个实数,当你的答案与标准答案误差不超过 10−210^{-2}10−2 时,则视为正确。

样例

输入

3 4

0 -1 4 1

4 2 7 2

7 1 8 2

1 4

1 3

0 3 3 6 3

1 3

输出

2

0.5

3

数据范围与提示

对于 10%10\%10% 的数据,n,m≤1000n, m \leq 1000n,m≤1000;

对于另外 20%20\%20% 的数据,所有的 1 操作都在 0 操作之后;

对于另外 20%20\%20% 的数据,所有线段的两端的 xxx 坐标都包含所有询问的 xxx 坐标,你可以将每条线段当做直线处理;

对于 100%100\%100% 的数据,1≤n≤500001 \leq n \leq 500001≤n≤50000,1≤m≤1500001 \leq m \leq 1500001≤m≤150000,x1,x2,y1,y2x_1, x_2, y_1, y_2x1​,x2​,y1​,y2​ 均为整数,0

相关文章

注册送365 南北朝时期齐国第三位皇帝高演简介:登基前后
注册送365 电竞世界杯PUBG项目马上到来!

电竞世界杯PUBG项目马上到来!

🗓️ 11-04 👁️ 6249
365bet返水多少 微信买汽车票如何取票

微信买汽车票如何取票

🗓️ 07-12 👁️ 8220
best365手机官方 yy欢乐篮球在哪里_yy欢乐篮球位置入口介绍
best365手机官方 纪念基督复活,世界各地绚丽多彩、五花八门复活节庆祝盛况
365bet返水多少 钱钟书:快乐的真正源泉——精神的力量