问题链接:POJ3069 Saruman's Army。

题意简述:直线上有N个点。点i的距离是Xi。从这N个点中选取若干点加上标记。对于每个点,与其距离为R的范围内必有做标记的点(包括自身)。求至少标记多少点才能满足要求。

问题分析

这个问题可以用贪心法来解决。

先将各个点排序,从小到大顺序找必须标记的点,并且将其距离R以内的点排除。反复这个过程即可。

程序说明:(略)

AC的C++语言程序如下:

/* POJ3069 Saruman's Army */#include <iostream>
#include <algorithm>using namespace std;const int N = 1000;
int a[N];int solve(int n, int r)
{int ans = 0, i = 0;while(i < n) {int start = a[i++];// 遍历start范围内的点while(i < n && a[i] <= start + r)i++;// 标记点计数,标记点ans++;start = a[i - 1];// 遍历start范围内的点while(i < n && a[i] <= start + r)i++;}return ans;
}int main()
{int r, n;while(cin >> r >> n && !(r == -1 && n == -1)) {for(int i=0; i<n; i++)cin >> a[i];sort(a, a + n);cout << solve(n, r) << endl;}return 0;
}

POJ3069 Saruman's Army【贪心】相关推荐

  1. 【题解】POJ 3069 Saruman's Army(贪心)

    POJ 3069 Saruman's Army 原题 https://vjudge.net/problem/POJ-3069 白种人萨鲁曼必须带领他的军队沿着从艾辛格到圣盔谷的直线前进.为了跟踪他的部 ...

  2. POJ 3069 Saruman's Army(贪心)

    题目链接:http://poj.org/problem?id=3069 Description Saruman the White must lead his army along a straigh ...

  3. poj3069 Saruman's Army(贪心)

    https://vjudge.net/problem/POJ-3069 弄清楚一点,第一个stone的位置,考虑左右两边都要覆盖R,所以一般情况下不会在左边第一个(除非前两个相距>R). 一开始 ...

  4. POJ3069:Saruman's Army

    题目链接:http://poj.org/problem?id=3069 贪心 使用两个标志,一个边界点,一个当前比较点即可不断重复更新所需的点个数 挑战程序设计竞赛原文: 代码: 1 #include ...

  5. 贪心:Fence Repair、Saruman's Army

    Fence Repair Farmer John wants to repair a small length of the fence around the pasture. He measures ...

  6. Saruman's Army (POJ3069)

    Saruman's Army 萨鲁曼的大军正行进在一条笔直的道路上,由于是在夜晚行军,路上的石头严重地影响了行军速度.于是萨鲁曼决定预先在道路上安装一些路灯,以便士兵们能清楚地看到所有石头. 萨鲁曼给 ...

  7. POJ 3069 Saruman's Army(萨鲁曼军)

    POJ 3069 Saruman's Army(萨鲁曼军) Time Limit: 1000MS   Memory Limit: 65536K [Description] [题目描述] Saruman ...

  8. Saruman's Army

    传送门 题目 Saruman the White must lead his army along a straight path from Isengard to Helm's Deep. To k ...

  9. 【贪心】POJ - 3069 Saruman's Army

    题意 给n个点,从中选择若干个标记,在距离标记为r的范围内包含其他的点,最少需要几个标记,才能将所有的点包含在内 思路 贪心.先排序,从最左边的点开始找到此半径内最大的点,则此点就是第一个标记,以此类 ...

最新文章

  1. 【Scratch】青少年蓝桥杯_每日一题_3.07_画金字塔
  2. rust(66)-rust智能指针与类型转换
  3. ssrs报表服务器数据库配置文件,创建报表服务器数据库(SSRS 配置管理器)
  4. 使用DatagramSocket与DatagramPacket传输数据
  5. PKM(个人知识管理)类软件收集(偶尔更新列表)
  6. 校园招聘最重要的有2点 第一个是不要抱死一家公司
  7. 积分下载插件 for typecho 测试版 附教程
  8. 布鲁斯的秘密-序章:我是布鲁斯
  9. Kafka Streams 剖析
  10. Jquery 中 ajaxSubmit使用笔记
  11. multisim中pwl_multisim元器件
  12. 使用A4纸张黑白打印双面打印多少钱一张
  13. 在Linux服务器上下载百度云盘中的资料
  14. 文本分析苏轼的词以及苏轼的人生轨迹地图
  15. 教你如何写原创歌词和卖你的原创歌曲
  16. 法语入门学习资料汇总
  17. HFDS的Shell操作
  18. mysql 如何修改用户密码_如何更改MySQL用户密码
  19. 数据结构与算法--递归(factorial)
  20. .NET网站本机调试通过、发布后EXCEL导入数据库报错问题的解决

热门文章

  1. html——影响文档流属性详解
  2. App Store新规即将到来 你准备好了吗?
  3. android 程序开发的插件化
  4. mysql 4604,mysql--centos(7)安装
  5. db2 控制台执行创建函数语句_DB2 从命令行创建SQL存储过程
  6. IDEA中Maven项目导入依赖包,出现红线波浪线
  7. Linux软件包管理的知识点,Debian软件包管理APT和存储库的基础知识[Linux 101] | MOS86...
  8. mysql数据导入导出 CSV格式_mysql数据一键导出到csv文件
  9. android 动画之漂移,Android之自定义Drawable实现灵动的红鲤鱼动画(上篇)
  10. mysql decimal 上限_关于mysql的decimal类型的外键的一个特殊限制