题目 30058

线段加查询最小值

查看题解 ↗GitHub ↗如何评测
题号
30058
时间限制
10000 ms
内存限制
1024 MB
标签
数据结构线段树
来源
Library Checker (yosupo06) - segment_add_get_min

【题目描述】

平面上有 NN 条线段 y=aix+biy = a_i x + b_i(其中 x∈[li,ri)x \in [l_i, r_i))。请依次处理 QQ 个查询。

  • 0 $l$ $r$ $a$ $b$:添加一条线段 y=ax+by = ax + b(其中 x∈[l,r)x \in [l, r))
  • 1 $p$:求 x=px = p 处 yy 的最小值。若不存在这样的 yy,输出 INFINITY。

【输入】

输入格式如下:

文本
$N$ $Q$
$l_0$ $r_0$ $a_0$ $b_0$
$l_1$ $r_1$ $a_1$ $b_1$
:
$l_{N-1}$ $r_{N-1}$ $a_{N-1}$ $b_{N-1}$
$\textrm{Query}_0$
$\textrm{Query}_1$
:
$\textrm{Query}_{Q - 1}$

【输出】

对每个 1 $p$ 查询,输出一行一个整数,表示 x=px = p 处 yy 的最小值。若不存在这样的 yy,输出 INFINITY。

【输入样例】

文本
2 8
-3 3 -1 -1
0 7 0 1
1 -1
1 -2
1 0
1 2
0 -4 2 0 -10
1 -2
1 0
1 2

【输出样例】

文本
0
1
-1
-3
-10
-10
-3

【输入样例2】

文本
1 2
-10 0 0 0
1 0
1 -1

【输出样例2】

文本
INFINITY
0

【数据范围】

  • 1≤N,Q≤2000001 \leq N, Q \leq 200000
  • −1000000000≤li<ri≤1000000000-1000000000 \leq l_i \lt r_i \leq 1000000000
  • ∣ai∣,∣p∣≤1000000000|a_i|, |p| \leq 1000000000
  • ∣bi∣≤1000000000000000000|b_i| \leq 1000000000000000000

【来源】

Library Checker(yosupo06) segment_add_get_min

数据下载

题目 30058 的公开数据

正在读取文件列表…

常用命令

题目 30058 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。