雷达覆盖,贪心,类似活动安排(POJ1328)
题目链接:http://poj.org/problem?id=1328
解题报告:
1、按照头结点排序。
#include <cstdio>
#include <cmath>
#include <string.h>
#include <algorithm> using namespace std; struct point
{
double x;
double y;
} dis[],pos[]; bool cmp(const point a,const point b)
{
return a.x<b.x;
} int n;
double d; int main()
{
int Case=;
while(scanf("%d%lf",&n,&d),n!=||d!=)
{
memset(dis,,sizeof(dis));
bool flag=true; for(int i=; i<n; i++)
{
scanf("%lf%lf",&dis[i].x,&dis[i].y);
if(d<fabs(dis[i].y))
{
flag=false;
}
} for(int i=; i<n; i++)
{
pos[i].x=dis[i].x-sqrt(d*d*1.0-dis[i].y*dis[i].y);///计算一下左右区间
pos[i].y=dis[i].x*1.0+sqrt(d*d*1.0-dis[i].y*dis[i].y);
} if(flag)
{
sort(pos,pos+n,cmp); point tmp=pos[];
int ans=; for(int i=; i<n; i++)
{
if(pos[i].x>tmp.y)//没有重合的地方
{
ans++;
tmp=pos[i];
}
else if(pos[i].y<tmp.y)///有重合的地方且下一个岛屿的右覆盖较远
tmp=pos[i];
} printf("Case %d: %d\n",++Case,ans);
}
else printf("Case %d: %d\n",++Case,-);
}
return ;
}
2、按照尾节点排序。
#include <cstdio>
#include <cmath>
#include <string.h>
#include <algorithm> using namespace std; struct point
{
double x;
double y;
} dis[],pos[]; bool cmp(const point a,const point b)
{
return a.y<b.y;///按尾节点排序
} int n;
double d; int main()
{
int Case=;
while(scanf("%d%lf",&n,&d),n!=||d!=)
{
memset(dis,,sizeof(dis));
bool flag=true; for(int i=; i<n; i++)
{
scanf("%lf%lf",&dis[i].x,&dis[i].y);
if(d<fabs(dis[i].y))
{
flag=false;
}
} for(int i=; i<n; i++)
{
pos[i].x=dis[i].x-sqrt(d*d*1.0-dis[i].y*dis[i].y);
pos[i].y=dis[i].x*1.0+sqrt(d*d*1.0-dis[i].y*dis[i].y);
} if(flag)
{
sort(pos,pos+n,cmp); point tmp=pos[];
int ans=; for(int i=; i<n; i++)
{
if(pos[i].x>tmp.y)///没有重复
{
ans++;
tmp=pos[i];
}
else if(pos[i].x>tmp.y)
tmp=pos[i];
} printf("Case %d: %d\n",++Case,ans);
}
else printf("Case %d: %d\n",++Case,-);
}
return ;
}
雷达覆盖,贪心,类似活动安排(POJ1328)的更多相关文章
- hdu2037今年暑假不AC(贪心,活动安排问题)
今年暑假不AC Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submi ...
- HDU 2307 贪心之活动安排问题
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2037 今年暑假不AC Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 2037简单贪心--活动安排问题
活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合,是可以用贪心算法有效求解的很好例子.该问题要求高效地安排一系列争用某一公共资源的活动.贪心算法提供了一个简单.漂亮的方法使得尽可能多的活动 ...
- 忙碌的Nova君 (活动安排问题、贪心算法)
题目描述 理论上,Nova君是个大闲人,但每天还是有一大堆事要干,大作业啦,创新杯啦,游戏啦,出题坑人啦,balabala......然而精力有限,Nova君同一时间只能做一件事,并不能一心二用.假设 ...
- A - 活动安排问题(贪心)
A - 活动安排问题 有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室? Input第一行一个正整数n (n <= ...
- [C++] 贪心算法之活动安排、背包问题
一.贪心算法的基本思想 在求解过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解. 从贪心算法的定义可以看出,贪心算法不是从整体上考 ...
- 贪心算法求解活动安排<算法分析>
一.实验内容及要求 1.要求按贪心算法原理求解问题: 2.要求手工输入s[10]及f[10],其中注意自己判断s[i]<f[i]: 3.要求显示所有活动及最优活动安排的i事件列表.二.实验步骤 ...
- C++贪心算法实现活动安排问题
问题描述: 设有n个活动的集合E={1,2,…,n},其中,每个活动都要求使用同一资源,而在同一时间内只有一个活动能使用这一资源.每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且s ...
- 51nod1428 活动安排问题 (贪心加暴力)
1428 活动安排问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动 ...
随机推荐
- 2.2 Go 常量与枚举
package main import ( "fmt" "math" ) //常量 func cons(){ , //常量的数字在不明确指定类型的情况下,即可以 ...
- 【3dsMax安装失败,如何卸载、安装3dMax 2019?】
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- CAD安装失败怎样卸载CAD 2019?错误提示某些产品无法安装
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- Hbase与传统数据库的区别
在说HBase之前,我想再唠叨几句.做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了, ...
- avalon教程-简介
avalon是什么? avalon是一个MVVM框架, Modle-模型层,即为js中从后台接口中取出的数据,例如一个对象或者对象数组,并对这些数据进行一定的格式化.常见的返回数据是这样的{id : ...
- java中关于冒泡排序算法的学习。
在编程语言的学习中,排序算法在学习过程中是必须要掌握的,特别在新手的学习中,我们应该学会这些算法,本篇先介绍冒泡算法. 冒泡排序 设有一组待排序的数据: 3 2 4 5 7 1 我们需要使用冒泡排序来 ...
- C语言的各种输入情况介绍(ACM中常用到)
1.最简单的输入输出形式: 计算a+b的值: scanf("%d%d",&a,&b); printf("%d\n",a+b);--------- ...
- sass-基础
导入: sass的导入(@import)规则和CSS的有所不同,编译时会将@import的scss文件合并进来只生成一个CSS文件. 但是如果你在sass文件中导入css文件如@import 'res ...
- CSS基础必备盒模型及清除浮动
盒模型 盒模型是有两种标准的,一个是标准模型,一个是IE模型. css如何设置两种模型 这里用到了CSS3 的属性 box-sizing /* 标准模型 */ box-sizing:content-b ...
- vue安装--使用node
总结: # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my-proj ...