#lg14434. [JOISC 2013] 建设项目 / Construction Project

[JOISC 2013] 建设项目 / Construction Project

[AdditionalFile5115.zip](file://AdditionalFile5115.zip?type=additional_file)

#5115. 「JOISC 2013 Day2」建设项目

标签: 传统 | 时间限制: 5000 ms | 内存限制: 256 MiB |

题目描述

题目译自 JOISC 2013 Day2 T1 「建設事業

在 IOI 国,一项大规模交通网络整备计划正在展开。IOI 国可以看作一个 xy 坐标平面,上面分布着 NN 个城镇。第 ii (1iN)(1 \leq i \leq N) 个城镇位于坐标 (Xi,Yi)(X_{i}, Y_{i})。交通网络的整备将按照以下步骤进行:

  • NN 个城镇中选择若干个建设国际机场,至少需要建设 11 个。每次建设国际机场都会产生固定的成本。
  • 在城镇之间铺设若干道路。道路是连接城镇的点之间、平行于 x 轴或 y 轴的线段,每铺设一条道路的成本等于其长度。

在整备过程中,必须满足以下条件:

  • IOI 国由于地基条件恶劣等原因,存在 MM 个不可铺设道路的区域。每个区域是一个长方形,第 jj (1jM)(1 \leq j \leq M) 个区域的左下角坐标为 (Pj,Qj)(P_{j}, Q_{j}),右上角坐标为 (Rj,Sj)(R_{j}, S_{j})(即 Pj<RjP_{j} < R_{j}Qj<SjQ_{j} < S_{j})。任何道路都不得与这 MM 个区域有任何交集,包括区域的边界在内,道路也不得与长方形区域的边界有公共部分。
  • 从任意一个城镇出发,通过道路辗转前往其他城镇,最终必须能够到达某个设有国际机场的城镇。

作为该项目的潜在承包商,C 家公司被列入候选名单。第 kk (1kC)(1 \leq k \leq C) 家公司建设一个国际机场的成本为 BkB_{k},并且最多能建设 HkH_{k} 个国际机场(铺设道路的成本不因公司而异,且道路数量和长度没有限制)。你需要为每家公司计算,在满足上述条件的前提下,进行交通网络整备所需的最小总成本。

由于有些公司能建设的国际机场数量有限,可能无法满足条件。对于无法满足条件的公司,请报告无法完成任务,而非给出成本值。

给定 IOI 国城镇数量 NN 及其坐标、不可铺设道路区域数量 MM 及其坐标、候选建设公司数量 CC 及各公司信息,你需要编写一个程序,为每家建设公司计算在满足题目所述条件的情况下,进行交通网络整备所需的最小总成本。

输入格式

从标准输入中读取以下数据:

  • 第一行包含三个整数 N,M,CN, M, C,用空格分隔,分别表示 IOI 国的城镇数量、不可铺设道路的区域数量和候选建设公司的数量。
  • 接下来 NN 行中,第 ii (1iN)(1 \leq i \leq N) 行包含两个整数 Xi,YiX_{i}, Y_{i},用空格分隔,表示第 ii 个城镇的坐标为 (Xi,Yi)(X_{i}, Y_{i})
  • 接下来 MM 行中,第 jj (1jM)(1 \leq j \leq M) 行包含四个整数 Pj,Qj,Rj,SjP_{j}, Q_{j}, R_{j}, S_{j},用空格分隔,表示第 jj 个不可铺设道路区域的长方形左下角坐标为 (Pj,Qj)(P_{j}, Q_{j}),右上角坐标为 (Rj,Sj)(R_{j}, S_{j})
  • 接下来 CC 行中,第 kk (1kC)(1 \leq k \leq C) 行包含两个整数 Bk,HkB_{k}, H_{k},用空格分隔,表示第 kk 家候选建设公司建设一个国际机场的成本为 BkB_{k},最多可建设 HkH_{k} 个国际机场。

输出格式

在标准输出中输出 CC 行,第 kk (1kC)(1 \leq k \leq C) 行输出一个整数,表示第 kk 家候选建设公司执行此项目时的最小总成本。如果第 kk 家公司无法满足条件完成任务,则输出整数 1-1

样例

输入

4 2 3
1 1
10 1
1 10
10 10
4 0 8 9
1 4 9 8
7 4
10 3
1 1

输出

28
38
-1

此输入样例图示如下,粗线矩形表示不可铺设道路的区域。

可以铺设连接城镇 22 与城镇 44 以及城镇 33 与城镇 44 的道路,但由于会与不可铺设区域相交,无法在城镇 11 与城镇 22 之间铺设道路。同样,城镇 11 与城镇 33 之间也无法铺设道路(注意,道路不得与矩形区域的边界有公共部分)。

第一家公司最多可建设 44 个国际机场,每个成本为 77。在此情况下,最优方案是不铺设任何道路,而在所有城镇建设国际机场,总成本为 7×4=287 \times 4 = 28

第二家公司最多可建设 33 个国际机场,每个成本为 1010。在此情况下,最优方案是铺设连接城镇 22 与城镇 44 以及城镇 33 与城镇 44 的道路(长度均为 99),并在城镇 11 和城镇 22 建设国际机场,总成本为 10×2+9+9=3810 \times 2 + 9 + 9 = 38

第三家公司最多可建设 11 个国际机场,每个成本为 11。但由于城镇 11 无法与其他城镇铺设道路,满足条件至少需要建设 22 个国际机场,因此该公司无法完成任务,输出 1-1

数据范围与提示

对于所有输入数据,满足:

  • 1N2000001 \leq N \leq 200000
  • 1M2000001 \leq M \leq 200000
  • 1C5000001 \leq C \leq 500000
  • 0Xi10000000000 \leq X_{i} \leq 1000000000 (1iN)(1 \leq i \leq N)
  • 0Yi10000000000 \leq Y_{i} \leq 1000000000 (1iN)(1 \leq i \leq N)
  • 同一坐标不会有多个城镇。
  • 0Pj<Rj10000000000 \leq P_{j} < R_{j} \leq 1000000000 (1jM)(1 \leq j \leq M)
  • 0Qj<Sj10000000000 \leq Q_{j} < S_{j} \leq 1000000000 (1jM)(1 \leq j \leq M)
  • 任何区域都不会将城镇包含在其内部或边界上。
  • 1Bk10000000001 \leq B_{k} \leq 1000000000 (1kC)(1 \leq k \leq C)
  • 1HkN1 \leq H_{k} \leq N (1kC)(1 \leq k \leq C)

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 1010 M100M \leq 100, C100C \leq 100
22 3030 C100C \leq 100
33 3030 M100M \leq 100
44 3030 无附加限制