https://vjudge.net/problem/POJ-3069

弄清楚一点,第一个stone的位置,考虑左右两边都要覆盖R,所以一般情况下不会在左边第一个(除非前两个相距>R)。

一开始二层循环外层写的i=1,这样对于数据诸如1 1 1=>0,而其实结果是1.

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<queue>
 4 #include<cstring>
 5 #include<algorithm>
 6 #include<cmath>
 7 #include<set>
 8 #define INF 0x3f3f3f3f
 9 typedef long long ll;
10 using namespace std;
11 int R, n, a[1010];
12 int main()
13 {
14     while(cin >> R >> n){
15         if(R == -1&&n == -1) break;
16         for(int i = 0; i < n; i++){
17             cin >> a[i];
18         }
19         sort(a, a+n);
20         int flag=0;
21         int st = 0, ans=0;//st表示第一个未被覆盖的点
22         for(int i = 0; i < n;){//一开始这里写的i=0,WA了
23             while(i < n&&a[i]-a[st]<=R){
24                 i++;
25             }
26             int t = i-1;//此处放一个
27             ans++;
28             while(i < n&&a[i]-a[t]<=R){
29                 i++;
30             }
31             st = i;
32         }
33         cout << ans << endl;
34     }
35     return 0;
36 }

转载于:https://www.cnblogs.com/Surprisezang/p/9000523.html

poj3069 Saruman's Army(贪心)相关推荐

  1. POJ3069 Saruman's Army【贪心】

    问题链接:POJ3069 Saruman's Army. 题意简述:直线上有N个点.点i的距离是Xi.从这N个点中选取若干点加上标记.对于每个点,与其距离为R的范围内必有做标记的点(包括自身).求至少 ...

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

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

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

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

  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. 阿里云域名备案时产品类型
  2. UT斯达康XV6700上网终极设置
  3. Android生成Xml文件
  4. 牛客题霸 [ 最长回文子串] C++题解/答案
  5. java中double类型显示两个小数,比如12.00
  6. Linux mii-tool命令
  7. 计算机不能打印pdf文档怎么办,pdf无法打印怎么处理_pdf文件无法打印的三种解决方法...
  8. 京东API接口:item_search - 按关键字搜索商品
  9. stata面板数据gmm回归_gmm的stata操作步骤
  10. 腾讯北大合作的稀疏大模型训练加速方案HET入选国际顶会VLDB
  11. codewars练习(javascript)-2021/3/23
  12. 智慧零售产业应用实战,30分钟上手的高精度商品识别
  13. 数据标签处理:python将xml文件转换为txt,csv格式
  14. java正则表达式匹配任意中文_java匹配中文的正则表达式
  15. 语言处理方法-Word2Vec详解
  16. VolumeUI音量调节对话框
  17. 什么叫h5项目_后端产品经理的第一次H5项目
  18. Android应用双开供系统在主副屏展示使用总结及问题总结
  19. shopify是什么_Shopify与WooCommerce –哪个是更好的平台? (比较)
  20. k8s安装可视化界面dashboard

热门文章

  1. Android 指纹调试流程(高通、MTK均适用)
  2. android 图片缓存工具类,Android工具类系列-Glide图片缓存与圆角
  3. c语言股票软件开发,一种使用Objcctivc语言开发的股票软件系统的制作方法
  4. 实验7-3-4 字符串替换 (15分)
  5. PAT_B_1008_Java(20分)
  6. yml eureka defaultzone 只生效第一个_SpringCloud基础教程(三)-Eureka进阶
  7. jq 通过标签名称获取标签_通过微盛·企微管家如何自动给客户打标签?
  8. f分布表完整图_分布式计算引擎之星——Spark
  9. 程序员最喜欢用的在线代码编译器,什么?你竟然不知道!可以在网页敲代码,运行调试!
  10. [深度学习] Keras 如何使用fit和fit_generator