luogu#P1158. [NOIP2010 普及组] 导弹拦截

    ID: 5216 远端评测题 1000ms 125MiB 尝试: 6 已通过: 3 难度: 3 上传者: 标签>模拟2010NOIp 普及组枚举暴力排序快速排序

[NOIP2010 普及组] 导弹拦截

题目描述

经过 1111 年的韬光养晦,某国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截。当工作半径为 00 时,则能够拦截与它位置恰好相同的导弹。但该导弹拦截系统也存在这样的缺陷:每套系统每天只能设定一次工作半径。而当天的使用代价,就是所有系统工作半径的平方和。

某天,雷达捕捉到敌国的导弹来袭。由于该系统尚处于试验阶段,所以只有两套系统投入工作。如果现在的要求是拦截所有的导弹,请计算这一天的最小使用代价。

输入格式

第一行包含 44 个整数 x1,y1,x2,y2x_1,y_1,x_2,y_2,每两个整数之间用一个空格隔开,表示这两套导弹拦截系统的坐标分别为 (x1,y1),(x2,y2)(x_1,y_1), (x_2,y_2)。第二行包含 11 个整数 NN,表示有 NN 颗导弹。接下来 NN 行,每行两个整数 x,yx,y,中间用一个空格隔开,表示一颗导弹的坐标 (x,y)(x,y)。不同导弹的坐标可能相同。

输出格式

一个整数,即当天的最小使用代价。

0 0 10 0
2
-3 3
10 0
18
0 0 6 0
5
-4 -2
-2 3
4 0
6 -2
9 1
30

提示

两个点 (x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2) 之间距离的平方是 (x1x2)2+(y1y2)2(x_1-x_2)^2+(y_1-y_2)^2

两套系统工作半径 r1,r2r_1,r_2 的平方和,是指 r1,r2r_1,r_2 分别取平方后再求和,即 r12+r22r_1^2+r_2^2

样例 1 说明

样例 11 中要拦截所有导弹,在满足最小使用代价的前提下,两套系统工作半径的平方分别为 181800

样例 2 说明

样例 22 中的导弹拦截系统和导弹所在的位置如下图所示。要拦截所有导弹,在满足最小使用代价的前提下,两套系统工作半径的平方分别为 20201010

【数据范围】。

  • 对于 10%10\% 的数据,N=1N=1
  • 对于 20%20\% 的数据,1N21\le N\le 2
  • 对于 40%40\% 的数据,1N1001\le N\le 100
  • 对于 70%70\% 的数据,1N10001\le N\le 1000
  • 对于 100%100\% 的数据,1N1051\le N\le 10^5,且所有坐标分量的绝对值都不超过 10001000

NOIP2010 普及组 第三题