loj#P2585. 「APIO2018」新家

「APIO2018」新家

题目描述

五福街是一条笔直的道路,这条道路可以看成一个数轴,街上每个建筑物的坐标都可以用一个整数来表示。小明是一位时光旅行者,他知道在这条街上,在过去现在和未来共有 nn 个商店出现。第 ii 个商店可以使用四个整数 xi,ti,ai,bix_i, t_i, a_i, b_i 描述,它们分别表示:商店的坐标、商店的类型、商店开业的年份、商店关闭的年份。

小明希望通过时光旅行,选择一个合适的时间,住在五福街上的某个地方。他给出了一份他可能选择的列表,上面包括了 qq 个询问,每个询问用二元组(坐标,时间)表示。第 ii 对二元组用两个整数 li,yil_i, y_i 描述,分别表示选择的地点 lil_i 和年份 yiy_i

现在,他想计算出在这些时间和地点居住的生活质量。他定义居住的不方便指数为:在居住的年份,离居住点最远的商店类型到居住点的距离。类型 tt 的商店到居住点的距离定义为:在指定的年份,类型 tt 的所有营业的商店中,到居住点距离最近的一家到居住点的距离。我们说编号为 ii 的商店在第 yy 年在营业当且仅当 aiybia_i \leq y \leq b_i 。注意,在某些年份中,可能在五福街上并非所有 kk 种类型的商店都有至少一家在营业。在这种情况下,不方便指数定义为 −1。你的任务是帮助小明求出每对(坐标,时间)二元组居住的不方便指数。

输入格式

第一行包含三个整数 n,kn, kqq,分别表示商店的数量、商店类型的数量和(坐标,时间)二元组的数量。(1n,q3×105,1kn)(1\leq n,q\leq 3\times 10^5,1\leq k \leq n)
接下来 nn 行,每行包含四个整数 xi,ti,aix_i, t_i, a_i, 和 bib_i 用于描述一家商店,意义如题面所述$(1\leq x_i,a_i,b_i \leq 10^9,1\leq t_i \leq k,a_i \leq b_i)$
接下来 qq 行,每行包含两个整数 lil_i, 和 yiy_i ,表示一组(坐标,时间)查询(1li,yi108)(1\leq l_i,y_i \leq 10^8)

输出格式

对于每组询问输出一个整数,包含qq个整数,依次表示对于 qq 组(坐标,时间)询问求出的结果。

4 2 4
3 1 1 10
9 2 2 4
7 2 5 7
4 1 8 10
5 3
5 6
5 9
1 10
4
2
-1
-1
2 1 3
1 1 1 4
1 1 2 6
1 3
1 5
1 7
0
0
-1
1 1 1
100000000 1 1 1
1 1
99999999

数据范围与提示

子任务 1(5 分):n,q400n,q\leq 400

子任务 2(7 分):n,q6×104,k400n,q\leq 6\times 10^4,k\leq 400

子任务 3(10 分):n,q3×105n,q\leq 3\times 10^5,对于所有的商店ai=1,bi=108a_i=1,b_i=10^8

子任务 4(23 分):n,q3×105n,q\leq 3\times 10^5,对于所有的商店ai=1a_i=1

子任务 5(35 分):n,q6×104n,q\leq 6\times 10^4

子任务 6(20 分):n,q3×105n,q\leq 3\times 10^5