雷达覆盖,贪心,类似活动安排(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),同一个教室安排的活动 ...
随机推荐
- sql游标及模仿游标操作
游标用途:对一个查询出来的结果,每一行作为参数进行操作 一:游标操作 --申请一个游标 DECLARE MyCursor CURSOR FOR SELECT ID FROM dbo.tb_stock ...
- angularJs(1)指令篇
angularJs模板 <!DOCTYPE html> <html> <head lang="en"> <meta charset=& ...
- 获取tomcat路径
String serverPath = System.getProperty("catalina.home");
- Bootloader 跳转到 RT-Thread 或 FreeRTOS(基于 STM32)
Bootloader 跳转到 RT-Thread 或 FreeRTOS(基于 STM32) 作者:猾蚁 QQ:7376220一.Bootloader 程序1. 准备好升级程序项目,可以使用 STM32 ...
- Unity ContextMenu 上下文菜单
新建脚本: public class ContextTesting : MonoBehaviour { [ContextMenu("哈哈")] void DoSomething() ...
- python3+Appium自动化11-data数据封装之python读取csv文件
使用背景 实际项目中,我们的测试数据可能存储在一个数据文件中,如txt.excel.csv文件类型.我们可以封装一些方法来读取文件中的数据来实现数据驱动 enumerate()简介 enumerate ...
- eclipse启动的时候报错An internal error occurred during: "Initializing Java Tooling"
eclipse ->windows ->Perspactive -> Reset perspactive 重置视图可以解决
- Javascript兼容性问题汇总
一.属性相关 我们通常把特征(attribute)和属性(property)统称为属性,但是他们确实是不同的概念, 特征(attribute)会表现在HTML文本中,对特征的修改一定会表现在元素的ou ...
- windows下端口转发 netsh
添加映射表: netsh interface portproxy add v4tov4 listenport=(监听端口) connectaddress=(虚机IP) connectport=(虚机端 ...
- 如何解决css和js的{}与smarty定界符冲突的问题
当输入url地址后网页出现:Fatal error: Uncaught exception 'SmartyCompilerException' with message 'Syntax Error i ...