博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3485 区间选点
阅读量:5791 次
发布时间:2019-06-18

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

题目链接:

题意:X轴上公路从0到L,X轴上下有一些点给出坐标代表村庄,问在公路上最少建几个出口才能使每个村庄到出口的距离不超过D。

以村庄为圆心,半径为 d 画圆,与公路相交,得到一个一个区间,这么选点呢?

按照区间右端点排序,第一个点,选择第一条线段的右端点,当前位置就在这里,已经(很)靠后了,拿这个点去查看以后的线段,看是不是符合。

1 #include 
2 #include
3 #include
4 5 using namespace std; 6 7 const int maxn = 10005; 8 9 struct Point10 {11 double x,y;12 } points[maxn];13 14 struct Line15 {16 double x,y;17 } lines[maxn];18 19 bool cmp(Line a,Line b)20 {21 return a.y < b.y;22 }23 24 int main()25 {26 double s;27 double d;28 while(~scanf("%lf%lf",&s,&d))29 {30 int n;31 scanf("%d",&n);32 for(int i=0; i
=lines[i].x&&cur<=lines[i].y)45 continue;46 else47 {48 cur = lines[i].y;49 ans++;50 }51 }52 53 printf("%d\n",ans);54 }55 return 0;56 }
View Code

 

转载于:https://www.cnblogs.com/TreeDream/p/6636667.html

你可能感兴趣的文章
沉思录
查看>>
Angular.js中的$injector服务
查看>>
构建之法读书笔记01
查看>>
linux - lsof 命令最佳实践
查看>>
kafka性能测试
查看>>
现实世界的Windows Azure:h.e.t软件使用Windows Azure削减50%的成本
查看>>
深入.net框架
查看>>
聚合类新闻client产品功能点详情分析
查看>>
js设置定时器
查看>>
数据库除运算
查看>>
LeetCode--112--路径总和
查看>>
DeviceIOControl与驱动层 - 缓冲区模式
查看>>
感悟贴2016-05-13
查看>>
vim使用教程
查看>>
JDK在LINUX系统平台下的部署案例与总结
查看>>
跨vlan通信-----单臂路由技术
查看>>
百度编辑器ueditor 光标位置的坐标
查看>>
DEV-C++ 调试方法简明图文教程(转)
查看>>
VS2017+EF+Mysql生成实体数据模型(解决闪退的坑)
查看>>
C++多态、继承的简单分析
查看>>