A85903.「NOI2019」弹跳
省选/NOI-
通过率:0%
时间限制:2.00s
内存限制:128MB
题目描述
跳蚤国有 n 座城市,分别编号为 1∼n,1 号城市为首都。所有城市分布在一个 w×h 范围的网格上。每座城市都有一个整数坐标 (x,y) (1≤x≤w,1≤y≤h),不同城市的坐标不相同。
在跳蚤国中共有 m 个弹跳装置,分别编号为 1∼m,其中 i 号弹跳装置位于 pi 号城市,并具有参数 ti,Li,Ri,Di,Ui。利用该弹跳装置,跳蚤可花费 ti (ti>0) 个单位时间,从 pi 号城市跳至坐标满足 Li≤x≤Ri,Di≤y≤Ui (1≤Li≤Ri≤w,1≤Di≤Ui≤h) 的任意一座城市。需要注意的是,一座城市中可能存在多个弹跳装置,也可能没有弹跳装置。
由于城市间距离较远,跳蚤们必须依靠弹跳装置出行。具体来说,一次出行将经过若干座城市,依次经过的城市的编号可用序列 a0,a1,…,ak 表示;在此次出行中,依次利用的弹跳装置的编号可用序列 b1,b2,…,bk 表示。其中每座城市可在序列 {aj} 中出现任意次,每个弹跳装置也可在序列 {bj} 中出现任意次,且满足,对于每个 j (1≤j≤k),编号为 bj 的弹跳装置位于城市 aj−1,且跳蚤能通过该弹跳装置跳至城市 aj。我们称这是一次从城市 a0 到城市 ak 的出行,其进行了 k 次弹跳,共花费 ∑i=1ktbi 个单位时间。
现在跳蚤国王想知道,对于跳蚤国除首都(1 号城市)外的每座城市,从首都出发,到达该城市最少需要花费的单位时间。跳蚤国王保证,对每座城市,均存在从首都到它的出行方案。
输入格式
从文件 jump.in 中读入数据。
第一行包含四个整数 n,m,w,h,变量的具体意义见题目描述。
接下来 n 行,第 i 行包含两个整数 xi,yi,表示 i 号城市的坐标。
接下来 m 行,第 i 行包含六个整数 pi,ti,Li,Ri,Di,Ui,分别表示 i 号弹跳装置所在的城市编号、弹跳所需的时间、可到达的矩形范围。这些整数的具体意义见题目描述。
输出格式
输出到文件 jump.out 中。
输出 n−1 行,第 i 行包含一个整数,表示从跳蚤国首都到 i+1 号城市最少需要花费的单位时间。
输入输出样例
输入#1
5 3 5 5 1 1 3 1 4 1 2 2 3 3 1 123 1 5 1 5 1 50 1 5 1 1 3 10 2 2 2 2
输出#1
50 50 60 123
说明/提示
对于所有测试点和样例满足:1≤n≤7×104,1≤m≤1.5×105,1≤w,h≤n,1≤ti≤104。
每个测试点的具体限制见下表。
| 测试点编号 | 1≤n≤ | 1≤m≤ | 特殊限制 |
|---|---|---|---|
| 1∼8 | 100 | 100 | 无 |
| 9∼13 | 5×104 | 105 | 每个弹跳装置恰好可达一座城市,且 Li=Ri,Di=Ui |
| 14∼18 | 5×104 | 105 | h=1 |
| 19∼22 | 2.5×104 | 5×104 | 无 |
| 23∼25 | 7×104 | 1.5×105 | 无 |
请注意,本题的内存限制为 128MB。