poj 3069

题目概述

数轴上有N个点,你需要以其中某些点为圆心做半径为R的圆,问最少做多少圆可使所有点都在圆中

时限

1000ms/3000ms

输入

第一行整数R,N,第二行N个整数,描述每个点的位置,输入到N=R=-1结束

限制

0<=R<=1000;1<=N<=1000

输出

每行一个数,为所求最少圆数

样例输入

0 3
10 20 20
10 7
70 30 1 7 15 20 50
-1 -1

样例输出

2
4

讨论

贪心,由于给的点是无序的,先排序,然后拿一个圆,依次以每个点为圆心试,确保第一个没有被以前的圆覆盖到的点能被现在的圆覆盖到,否则就将现在的圆固定,固定到最后一次可以确保时圆心的位置,在固定的一刻,这个圆也是一个以前的圆了,这样既保证所有点都在圆中,又是最少
从实现方面,则是维护左边界,然后枚举圆心,如果无法确保,则再看右边界最远可以到哪里,然后从下一个位置继续开始枚举圆心,枚举圆心时由于到达最后一个点后会退出循环导致结果不正确,故额外添加一个位置为正无穷的点作为最后一个点
其实道理是后来推出来的,一开始就靠直觉

题解状态

168K,16MS,C++,673B

题解代码

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
#define MAXN 1004
#define memset0(a) memset(a,0,sizeof(a))

int R, N;
int nums[MAXN];
int fun()
{
    for (int p = 0; p < N; p++)
        scanf("%d", &nums[p]);//input
    nums[N++] = INF;
    sort(nums, nums + N);
    int left = 0, least = 0;//圆的左边界 需要的圆数
    for (int p = 0; p < N; p++)//枚举圆心
        if (nums[p] - R > nums[left]) {//当无法确保时
            least++;//额外的圆
            for (left = p; left < N&&nums[p - 1] + R >= nums[left]; left++);//枚举右边界
            p = left;//移动圆心枚举的起始位置
        }
    return least;
}
int main(void)
{
    //freopen("vs_cin.txt", "r", stdin);
    //freopen("vs_cout.txt", "w", stdout);

    while (~scanf("%d%d", &R, &N) && (N != -1 || R != -1))//input
        printf("%d\n", fun());//output
}
基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统,个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经网络的果蔬识别系统基于python tensorflow2.3的果蔬识别系统源码+模型-基于卷积神经
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值