博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA-1615 Highway (贪心,区间选点)
阅读量:4349 次
发布时间:2019-06-07

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

题目大意:有一条沿x轴正方向,长为L的高速公路,n个村庄,要求修建最少的公路出口数目,使得每个村庄到出口的距离不大于D。

题目分析:区间选点问题。在x轴上,到每个村庄距离为D的点有两个(超出范围除外),这两个点便构成了一个区间,这样的区间总共有n个。问题便转化为了,在n个区间中选取最少的点占据所有区间。贪心即可,贪心策略:将所有区间按右端点排序,若需要选择,每次都选区间右端点。

 

代码如下:

# include
# include
# include
# include
# include
# include
using namespace std;struct Q{ double l,r; Q(double _l,double _r):l(_l),r(_r){} bool operator < (const Q &a) const { return r
v;void dist(int x,int y,double &l,double &r){ l=(double)x-sqrt((double)D*(double)D-(double)y*(double)y); r=(double)x+sqrt((double)D*(double)D-(double)y*(double)y);}int solve(){ int ans=0; double p=-1.0; for(int i=0;i
v[i].r){ ++ans; p=v[i].r; } } return ans;}int main(){ int x,y; double li,ri; while(scanf("%d",&L)!=EOF) { scanf("%d%d",&D,&n); v.clear(); for(int i=0;i

  

转载于:https://www.cnblogs.com/20143605--pcx/p/4889103.html

你可能感兴趣的文章
HDU 3452 Bonsai
查看>>
[Erlang12] Mnesia分布式应用
查看>>
图的遍历 | 1013 连通块块数
查看>>
Kinect 开发 —— 进阶指引(上)
查看>>
洛谷 - P1739 - 表达式括号匹配 - 模拟 - 栈
查看>>
python——文件和流
查看>>
Pull To Refresh---下拉刷新完全解析,教你如何一分钟实现下拉刷新功能
查看>>
嵌套查询
查看>>
Upgrade Bash to 4+ on OS X
查看>>
python学习笔记(六)time、datetime、hashlib模块
查看>>
uva489(需要考虑周全)
查看>>
C-关键字(二)
查看>>
排序笔记
查看>>
天气API整理,返回的数据格式为json对象
查看>>
如何配置JAVA的环境变量、Tomcat环境变量
查看>>
MySQL定义外键的方法
查看>>
ELK Packetbeat 部署指南(15th)
查看>>
ant 打不同渠道包
查看>>
andorid 字体 修改
查看>>
oracle日期函数、字符串函数、格式化方式
查看>>