ACM 贪心 Highway
来源:互联网 发布:男生化妆知乎 编辑:程序博客网 时间:2024/06/06 05:51
滴,集训第九天打卡。
感觉自己有些皮起来了,不是很有耐心做一些难题了...
今天的高效算法多是贪心做的。
UVA 1615 Highway
题目大意:在一条0-100的路上,可接受的D是50,有三个村庄,XY平面的点,在这条路上建加油站。使得村庄到加油站的距离不大于D,求加油站要建立多少才满足条件。
思路:先用数学方法,以村庄为圆心,D为半径画个圆,与公路相加的区间记录下来,将区间左右点排序,贪心得到加油站数量。
#include <stdio.h>#include <cmath>#include <algorithm>#include <string.h>using namespace std;int L,d;struct I{ double l,r;}inter[10000];bool cmp(I a ,I b){ if(a.r==b.r)return a.l<b.l;return a.r<b.r;}int main(){ double x,y,p,q; while(scanf("%d",&L)!=EOF) { scanf("%d",&d); int n; cin>>n; for(int i=1;i<=n;i++) { scanf("%lf%lf",&x,&y); inter[i].l=x-sqrt(d*d-y*y); inter[i].r=x+sqrt(d*d-y*y); } sort(inter+1,inter+1+n,cmp); int ans=1; p=inter[1].l,q=inter[1].r; int i=1;while(i<=n){if(inter[i].l>q){ans++;p=inter[i].l;q=inter[i].r;}elsep=inter[i].l;i++;} cout<<ans<<endl; }
阅读全文
0 0
- ACM 贪心 Highway
- uva 1615Highway 贪心
- Total Highway Distance(贪心)
- POJ 3485 Highway(贪心算法)
- UVa 1615 - Highway(贪心)
- UVa 1615:Highway(贪心)
- POJ 3485 Highway (贪心, 区间选点)
- ZJOJ Highway Project 3946(单源最短路+贪心)
- ZOJ 3946 Highway Project【dijkstra】【贪心】
- uva 1615 Highway 高速公路 (贪心算法)
- Highway
- UVA 1615 Highway 区间选点 经典贪心 (SEERC 2005)
- [ACM] POJ 3485 Highway (区间选点问题)
- ACM--贪心算法
- ACM-贪心策略
- ACM 贪心算法
- HDU ACM 1050 贪心
- ACM贪心 HDOJ1050
- Mybatis中的XML中需要用到的转义符号整理
- css学习笔记(一)
- android studio jni cmake(1) 创建新项目
- 【搜索】泡泡龙 DFS
- mybatis 一对多/多对多 查询为空
- ACM 贪心 Highway
- 自定义View控件之onMeasure方法详解
- HDU-2017 多校训练赛1(赛上+补题)
- python入门--helloworld.py
- 利用angular cli 创建angular2项目
- Ubuntu vi 上下左右变ABCD问题解决方法
- JAVA流程控制 IF ELSE语句与Switch Case语句的使用
- ODOO pycharm 多项目设定
- eclipse安装Activiti Designer插件