博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1158 导弹拦截
阅读量:6706 次
发布时间:2019-06-25

本文共 1034 字,大约阅读时间需要 3 分钟。

思路

按每个点到第一个系统的距离排序,然后预处理出每个点及其之后的点到第二个系统的距离的最大值,再循环一遍枚举答案。

 代码

1 #include 
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 8 #define res register int 9 inline int read()10 {11 int x(0),f(1); char ch;12 while(!isdigit(ch=getchar())) if(ch=='-') f=-1;13 while(isdigit(ch)) x=(x<<1)+(x<<3)+ch-'0',ch=getchar();14 return f*x;15 }16 typedef long long LL;17 const int N=100000+10;18 int n,x1,y1,x2,y2;19 int d[N];20 struct node{21 int x,y,z;22 }s[N];23 inline int calc(int a1,int b1,int a2,int b2)24 {25 return (a1-a2)*(a1-a2)+(b1-b2)*(b1-b2);26 }27 bool cmp(node a,node b) {
return a.z
=1 ; i--)38 d[i]=max(d[i+1],calc(x2,y2,s[i].x,s[i].y)); 39 int ans(d[1]);40 for(res i=1 ; i<=n ; i++)41 {42 int tmp(s[i].z); tmp+=d[i+1];43 ans=min(ans,tmp);44 }45 printf("%d\n",ans);46 return 0;47 }
View Code

 

转载于:https://www.cnblogs.com/wmq12138/p/10363882.html

你可能感兴趣的文章
new BigDecimal(0.01) 与 new BigDecimal(String.valueOf(0.01))的区别 (转)
查看>>
软件测试的四个阶段
查看>>
Java基础八--构造函数
查看>>
【Cloud Foundry】Could Foundry学习(一)——Could Foundry浅谈
查看>>
CF Mike and Feet (求连续区间内长度为i的最小值)单调栈
查看>>
项目打成jar包
查看>>
[Angular] Angular Advanced Features - ng-template , ng-container, ngTemplateOutlet
查看>>
sql
查看>>
shell 例程 —— 解决redis读取稳定性
查看>>
sso 自动化运维平台
查看>>
[Java开发之路](15)注解
查看>>
json对象与javaBean,String字符创之间相互转换的方法
查看>>
cookie是什么,在什么地方会用到
查看>>
【AIX】AIX内存机制
查看>>
C#------发送邮件
查看>>
[转]vue全面介绍--全家桶、项目实例
查看>>
开源一个简易轻量的reactor网络框架
查看>>
上机题目(0基础)- Java网络操作-打印网页(Java)
查看>>
MySQL 查看用户授予的权限
查看>>
webpack 通用模块(每个页面都用到的js)编译
查看>>