P1158 [NOIP2010 普及组] 导弹拦截

2023-12-31 11:10

本文主要是介绍P1158 [NOIP2010 普及组] 导弹拦截,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目描述

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

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

输入格式

第一行包含 44个整数x1​、y1​、x2​、y2​,每两个整数之间用一个空格隔开,表示这两套导弹拦截系统的坐标分别为(x1​,y1​)、(x2​,y2​)。 第二行包含1 个整数N,表示有 N颗导弹。接下来N行,每行两个整数 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​)之间距离的平方是(x1​−x2​)²+(y1​−y2​)²。

两套系统工作半径r1​,r2​的平方和,是指 r1​,r2​ 分别取平方后再求和,即r1​²+r2²​。

【样例 1说明】

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

【样例2 说明】

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

【数据范围】

对于10%的数据,N = 1

对于20%的数据,1≤N≤2

对于40%的数据,1≤N≤100

对于70%的数据,1≤N≤1000

对于100%的数据,1≤N≤100000,且所有坐标分量的绝对值都不超过1000。

我们可以知道

如果有两个导弹分别距离装置x1,x2(x1<x2)

显然此装备设置为x2便足以拦截此导弹

如果有n个也是如此

那么我们需要知道两个将装备拦截的导弹中距离最远的一个足以

那么就需要枚举

但是O(n^2)の枚举必定要T

那么我们需要线性枚举

但我们如果知道一个系统能拦截的导弹

那么剩下没拦截的导弹便有另一系统(ko na wo Dio da!!!)负责

那么我们可以线性枚举了

warm tip:

1.如果在枚举前预先排序的话会更快的说

2.看完要记得点赞哦

本代码无坑请放心食用:

#include<bits/stdc++.h>
using namespace std;
inline int dist(int x1,int y1,int x2,int y2){return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);}
//计算两点距离的函数 
struct Jack{int l1,l2;
}f[110000];
inline bool cmp(const Jack &a,const Jack &b){return a.l1<b.l1;}
//相对于一号系统进行排序,将大的放到后面去 
int main( ){int n,i,j,k,x1,x2,y1,y2,a,b;std::ios::sync_with_stdio(false);cin>>x1>>y1>>x2>>y2;cin>>n;for(i=1;i<=n;i++){cin>>a>>b;f[i].l1=dist(x1,y1,a,b);f[i].l2=dist(x2,y2,a,b);}sort(f+1,f+n+1,cmp);int ans=f[n].l1,hei=-1;//因为将一号系统设置为离它最远的一个便已经能拦截所有导弹了 for(i=n-1;i>=1;i--){hei=max(hei,f[i+1].l2);ans=min(ans,hei+f[i].l1);}cout<<ans<<endl;
}

这篇关于P1158 [NOIP2010 普及组] 导弹拦截的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/555860

相关文章

笔试强训,[NOIP2002普及组]过河卒牛客.游游的水果大礼包牛客.买卖股票的最好时机(二)二叉树非递归前序遍历

目录 [NOIP2002普及组]过河卒 牛客.游游的水果大礼包 牛客.买卖股票的最好时机(二) 二叉树非递归前序遍历 [NOIP2002普及组]过河卒 题里面给的提示很有用,那个马的关系,后面就注意,dp需要作为long的类型。 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息publ

Interceptor拦截器无法拦截根目录的解决方法

今天发现了一个bug,首页home.jsp的某一个值是通过拦截器拦截所有页面,然后赋值的,然而我们的首页是通过index.jsp直接引用首页home.jsp代码(如下),拦截器无法拦截。 <%@ include file="./WEB-INF/jsp/home.jsp" %> 首先,第一个解决方法就是,将首页的引用文件改为跳转即可 <html><head><meta http-equiv

使用filter改变改变地址,但又不想被本过滤器再次拦截的方法

继承HttpServletRequestWrapper重写里面的方法 如果是servlet重写getRequestURI() 如果是spring mvc重写 getServletPath()  可以根据getDispatcherType()类确定是那种调度类型,一般客户端请求action,或controller都是REQUEST,controller跳转到页面是FORWARD。

信息学奥赛初赛天天练-83-NOIP2014普及组-基础题2-输入设备、输出设备、操作系统、二进制、整数除法、while、do while循环

1 NOIP 2014 普及组 基础题2 4 以下哪一种设备属于输出设备( ) A 扫描仪 B 键盘 C 鼠标 D 打印机 5 下列对操作系统功能的描述最为完整的是( ) A 负责外设与主机之间的信息交换 B 负责诊断机器的故障 C 控制和管理计算机系统的各种硬件和软件资源的使用 D 将没有程序编译成目标程序 11 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( ) A 296

免费SSL证书大全,加速普及网站实现HTTPS加密

免费SSL证书大全,加速普及网站实现HTTPS加密   SSL 证书用于加密 HTTP 协议,实现网站通过HTTPS加密协议访问。随着国内外各大网站实现全站 HTTPS 协议,以及搜索引擎对使用 HTTPS 协议网站的更加友好,加之互联网对数据和隐私安全的加强,网站添加 SSL 证书并实现 HTTPS 加密协议访问已经成为趋势和必然。 SSL证书大全​zzzjtd.com 而对于给网站添加

Android 拦截Tablayout 点击事件

背景:特定需求,点击某一个tab时,直接跳转到其他页面,不做任何选中操作,如下图点击小视频要跳转而不是选中这个tab   思考:Tablayout是安卓官方提供的,内部的点击事件都在内部封装,没有暴露类似的回调接口让用户自己处理某个tab的点击事件, 但是通过看源码发现 每一个tab的点击事件其实是一个内部封装的继承自LinearLayout的一个TabView来触发的 看14

讨论运维监控工具的普及程度

在讨论运维监控工具的普及程度时,加入PIGOSS BSM产品的分析是非常有意义的,因为PIGOSS BSM是一款在中国市场具有一定影响力的运维监控工具。 PIGOSS BSM运维监控工具是一款综合性的IT运维监控解决方案,它能够对多层次的IT资源进行监测,包括但不限于性能监测、事件管理、报表管理等功能模块。PIGOSS BSM的一个独特之处在于其拓扑关联配置工具,这使得用户可以根据自身的I

P2239 [NOIP2014 普及组] 螺旋矩阵

P2239 [NOIP2014 普及组] 螺旋矩阵 50分 //O(n^2)复杂度,能算n<=10000的 #include <bits/stdc++.h>using namespace std;//row当前行, column当前列, left:左边界,righ:右边界,top:上边界,bottom:下边界 int n, x, y, ans, row=1, column=0, lef,

springboot中的请求过滤filter与拦截interceptor分析

首先我们要定义一个类,实现标准的过滤器 import lombok.extern.slf4j.Slf4j;import javax.servlet.*;import javax.servlet.annotation.WebFilter;import java.io.IOException;@WebFilter("/*")@Slf4jpublic class AuthFilter im

拦截通信助理,拦截小秘书技术

有人叫做空号识别,有人称为彩铃识别,磐石云通过嵌入软交换进行实时识别前期媒体 案例: 王总公司有20坐席的员工回访用户服务满意度业务,由于用户开通了语音秘书和通信助理,漏话提醒等等,坐席拨打时对方由AI助理接听,并没有做到有效的触达,从而产生了话费。 1、造成了王总通信成本高。 2、造成了团队效率低,高峰时通信助理占比30%,人工打给AI助手,员工不能完成业务指标。 技术分析: 1、大