Cpp环境【POJ3069】【Vijos2995】 萨鲁曼的大军 Saruman's Army

Cpp环境【Vijios1093】文科生的悲哀 【问题描述】   化学不及格的Matrix67无奈选择了文科。他必须硬着头皮准备一次又一次的文科考试。   在这一学期一共有n次文科考试,考试科目有4种,分别为政治、历史、地理和综合。每次考哪一科是不定的,因此在考试前Matrix67不知道应该去复习哪一科的功课。他希望能预测出下一次可能考的科目。于是,他收集到了以往的文科考试的资料。从以往的考试中,他发现了这样几个规律:   1.如果这次考的是 阅读详情
【问题描述】  

  萨鲁曼的大军正行进在一条笔直的道路上,由于是在夜晚行军,路上的石头严重地影响了行军速度。于是萨鲁曼决定预先在道路上安装一些路灯,以便士兵们能清楚地看到所有石头。
  萨鲁曼给出n块石头的位置Xi,现在需要在这些位置中选择若干个位置设置路灯。每盏路灯的照亮范围为R,即若你在Xi处设置了一盏路灯,则在[Xi-R,Xi+R]的范围内都会被照亮。
  现在请你计算最少设置多少盏路灯,就能把所有石头照亮。

【输入格式】  

  含多组测试数据,每组数据占两行:第一行为 R 和 n ,第二行包含n个整数,表示Xi。

【输出格式】  

  每组数据输出一行一个整数,表示最少的路灯数量。

【输入样例】  

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

【输出样例】  

2
4

【样例解释】  

第一组数据,两盏路灯分别设置在10和20的位置
第二组数据,在位置7处设置一盏路灯(可以照亮1,7,15处的石头),在位置20处设置一盏路灯(可以照亮20,30l处的石头),在位置50处设置一盏路灯(可以照亮50处的石头),在位置70处设置一盏路灯(可以照亮70处的石头)。

【数据范围】  

1<=n<=1000 , 0<=R,Xi<=10^9
最多不超过1000组数据

【思路梳理】

  简单题,所谓石头可以想象成一条坐标轴上的点,安装的路灯就是坐标轴上的区间,那么这个题就是要求在坐标轴上贪心地选择一些给定的区间来覆盖所有的点,并求出所选的区间个数,依然可以用上面提到的“感染法”,只是我们不需要对区间进行标记。
  以第i个点进行考虑:首先考虑在第j个石头安装路灯,那么在能够覆盖到i的前提下j应该尽可能的远。显然这个时候应该在第j块石头处安装路灯而非第i块石头处(因为j的右边仍然有石头等待被覆盖),那么继续标记第j块石头右边能够覆盖到的石头就可以。
  
  【Cpp代码】

#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1005
using namespace std;
int stone_num,range;
struct info { bool vis; int pos,left,right; }stone[maxn];
bool cmp(info a,info b) { return a.pos<b.pos; }

void TASK()
{
    int j,ans=0;
    for(int i=1;i<=stone_num;i++)if(!stone[i].vis)
    {
        for(j=i;j<=stone_num;j++)//贪心地确定路灯的位置,在路灯j能够覆盖到石头i前提下使得路灯j尽可能的远 
        {
            stone[j].vis=true;//寻找路灯安装位置的过程中,这些stone全部标记掉 
            if(stone[j+1].pos>stone[i].right)
            {   
                i=j;//直接i移动到第j块石头处,进行路灯安装 
                break;
            }   
        }


        for(int j=i;j<=stone_num;j++)if(stone[j].pos<=stone[i].right)
            stone[j].vis=true;
        //确定路灯右侧能够照亮的stone 
        ans++;      
    }
    printf("%d\n",ans);
}

int main()
{
    //freopen("in.txt","r",stdin);
    while(scanf("%d%d",&range,&stone_num)==2)
    {
        memset(stone,0,sizeof(stone));
        if(range==-1 && stone_num==-1) break;
        for(int i=1;i<=stone_num;i++)
        {
            scanf("%d",&stone[i].pos);
            stone[i].vis=false;
            stone[i].left=stone[i].pos-range;
            stone[i].right=stone[i].pos+range;
        }
        sort(stone+1,stone+1+stone_num,cmp);
        TASK();
    }
    return 0;
}
Cpp环境【NOI1994】【Vijos3266】最佳旅游路线 【问题描述】   某旅游景区的街道成网格状。其中东西向德街道都是旅游街,南北向的街道都是林荫道。由于游客众多,旅游街规定为单行道,游客在旅游街上只能从西向东走,在林荫道上则既可从南向北,又可从北向南走。   阿龙想到这个旅游街区游玩。他的好友阿福给了他一些建议,用分值表示所有旅游街相邻两个路口之间的街道值得游览程度,分值是从-100到100的整数,所有林荫道不打分。所有分值不能全是负分。 阅读详情

相关推荐

Cpp环境【POJ3623】【Usaco2007Dec】【Vijos2993】Best Cow Line, Gold 最佳队列[2]

POJ3623 Best Cow Line,Gold 原题Description 问题描述 FJ is about to take his N (1 ≤ N ≤ 30,000) cows to the annual”Farmer of the Year” competition. In this contest every farmer arranges his cows in a line an

天地皆逆旅,你我本行人。 783

Saruman's Army (POJ3069)

Saruman's Army 萨鲁曼的大军正行进在一条笔直的道路上,由于是在夜晚行军,路上的石头严重地影响了行军速度。于是萨鲁曼决定预先在道路上安装一些路灯,以便士兵们能清楚地看到所有石头。   萨鲁曼给出n块石头的位置Xi,现在需要在这些位置中选择若干个位置设置路灯。每盏路灯的照亮范围为R,即若你在Xi处设置了一盏路灯,则在[Xi-R,Xi+R]的范围内都会被照亮。   现在请你计算最少设置多...

weixin_39257042的博客 264

Cpp环境【Uva1160】【Vijos2806】易爆物

【问题描述】   有一些简单化合物,每个化合物都由两种元素组成(每个元素用一个数字表示)。你是一个装箱工人,从实验员那里按照顺序依次把一些简单化合物装到车上。但这里存在一个安全隐患:如果车上存在k个简单化合物,正好包含k中元素,那么他们将组成一个易爆的混合物。为了安全起见,每当你拿到一个化合物时,如果它和已装车的化合物形成易爆混合物,你就应当拒绝装车。编程输出有多少个没有装车的化合物。【输入格式

天地皆逆旅,你我本行人。 762

CQYZ Online Judge P2995 萨鲁曼的大军(c++)

Description     萨鲁曼的大军正行进在一条笔直的道路上,由于是在夜晚行军,路上的石头严重地影响了行军速度。于是萨鲁曼决定预先在道路上安装一些路灯,以便士兵们能清楚地看到所有石头。   萨鲁曼给出n块石头的位置Xi,现在需要在这些位置中选择若干个位置设置路灯。每盏路灯的照亮范围为R,即若你在Xi处设置了一盏路灯,则在[Xi-R,Xi+R]的范围内都会被照亮。   现在请你计算最...

Patricia_6的博客 407

YOLO26算法水面与液体识别+训练好的模型+393张数据集+pyqt可视化界面.zip

附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[未获取()] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 52 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.8528** mAP50-95 | 0.3441 Precision | 0.7729 Recall | 0.8354 train/box_loss | 1.5367 train/cls_loss | 1.0228 val/box_loss | 1.6809 val/cls_loss | 1.1758 【训练过程分析】 我这次训练了52个周期,模型在训练初期确实收敛速度很快,前20个周期mAP50从0.74逐步提升至0.82,这说明模型开始适应数据集,学习到一些关键特征。但到第30个周期后,提升速度逐渐放缓,到了40个周期时,mAP50达到0.85,这个阶段的曲线走势有些像磨砂玻璃,平滑且不规则,后期更是趋于平缓,表明模型可能已经达到最优解,再继续训练可能会有少量提升但代价较大。整体而言,从loss曲线来看,训练集的box_loss和cls_loss在52个周期内分别从1.80和1.25降到1.54和1.02,下降曲线较为稳定,但到了后期,这两项指标下降幅度逐渐减缓,尤其cls_loss下降至1.10左右后趋于稳定,这可能是模型对训练数据已有了较强的泛化能力,但也提示我们分类的稳定性可能还欠些火候。 至于验证集的表现,box_lo... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

LLC谐振变换器恒压恒流双竞争闭环控制simulink仿真(附说明文档)

内容概要:本资源是一套面向电力电子与智能控制领域的综合性科研仿真资料合集,核心聚焦于LLC谐振变换器的恒压恒流双竞争闭环控制策略设计与Simulink建模仿真实现,涵盖半桥LLC、双向全桥LLC等拓扑结构的调频闭环仿真,并提供详尽的说明文档与PPT辅助材料。资源体系不仅深入呈现LLC变换器的动态响应与控制逻辑,还扩展至双有源桥(DAB)变换器的软开关协同优化、最小应力控制、EPS调制策略及新扩展移相角优化等前沿技术,同时集成三相PWM整流器在电网不平衡条件下的功率平衡控制、VOC+SVPWM双闭环控制等典型应用场景。此外,资源包涵盖状态估计(如EKF、UKF、PF)、微电网经济调度、卡尔曼滤波融合、神经网络控制、PID优化、储能系统管理等多个交叉方向,特别强调对顶级EI期刊研究成果的高精度复现,旨在帮助科研人员快速掌握先进控制算法的核心思想与仿真实现方法。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等相关专业的硕士博士研究生、高校科研人员,以及从事新能源变换器、智能电网、电动汽车、微电网系统研发的工程技术人员。; 使用场景及目标:① 深入理解LLC与DAB变换器的闭环控制机理,掌握恒压恒流切换、软开关实现与损耗优化方法;② 利用Simulink平台构建复杂电力电子系统模型,开展动态性能分析与控制器参数整定;③ 复现高水平期刊论文中的先进控制策略,提升科研创新能力与论文发表竞争力;④ 支持毕业设计、科研课题、项目申报及工程原型开发中的仿真验证环节。; 阅读建议:建议结合提供的完整资源目录循序渐进学习,优先研读标注“顶级EI复现”的案例以获取权威方法参考,配合MATLAB/Simulink动手搭建模型,重点关注控制框图设计、调制逻辑实现与仿真结果对比,深入理解算法背后的物理意义与数学推导过程。

POJ3069 萨鲁曼的大军(重庆一中高2018级信息学竞赛测验3) 解题报告

【问题描述】        萨鲁曼的大军正行进在一条笔直的道路上,由于是在夜晚行军,路上的石头严重地影响了行军速度。于是萨鲁曼决定预先在道路上安装一些路灯,以便士兵们能清楚地看到所有石头。    萨鲁曼给出n块石头的位置Xi,现在需要在这些位置中选择若干个位置设置路灯。每盏路灯的照亮范围为R,即若你在Xi处设置了一盏路灯,则在[Xi-R,Xi+R]的范围内都会被照亮。   

cqyz_holiday的博客 597

概率神经网络的分类预测-基于PNN的变压器故障诊断(Matlab代码实现)

内容概要:本文系统阐述了基于概率神经网络(PNN)的变压器故障诊断方法,结合Matlab代码实现分类预测。通过提取变压器运行过程中的关键特征参数,构建PNN模型以实现对正常状态与典型故障状态(如绕组短路、铁芯故障等)的高效分类识别。文章深入剖析了PNN的网络结构、概率密度估计原理、训练机制及分类决策过程,并通过仿真实验验证了该方法在故障诊断任务中具备较高的准确率与鲁棒性,展现了其在电力系统状态监测与智能运维中的良好应用前景。; 适合人群:具备一定机器学习理论基础和Matlab编程能力的电气工程、自动化、智能电网等相关领域的研究生、科研人员以及从事电力设备状态监测与故障诊断工作的工程技术人员。; 使用场景及目标:①实现变压器早期故障的智能化诊断与预警,提升电力系统运行安全性;②为基于神经网络的工业设备故障分类任务提供可复现的算法实现范例与技术验证平台; 阅读建议:建议读者结合文中提供的Matlab代码,动手复现实验流程,深入理解PNN在实际分类问题中的参数配置、训练策略、性能评估方法,并鼓励将该方法迁移至其他电力设备或机电系统的故障诊断场景中进行拓展研究与优化改进。

POJ - 3069 Saruman's Army 萨鲁曼的大军 贪心 重庆一中高2018级竞赛班第三次测试 2016.7.24 Problem 2

【问题描述】 萨鲁曼的大军正行进在一条笔直的道路上,由于是在夜晚行军,路上的石头严重地影响了行军速度。于是萨鲁曼决定预先在道路上安装一些路灯,以便士兵们能清楚地看到所有石头。 萨鲁曼给出n块石头的位置Xi,现在需要在这些位置中选择若干个位置设置路灯。每盏路灯的照亮范围为R,即若你在Xi处设置了一盏路灯,则在[Xi-R,Xi+R]的范围内都会被照亮。 现在请你计算最少设置多少盏路灯,就能把所有石

灬豪侠彡 509

从零构建知识图谱:本体工程与知识建模实战指南

本文是一份从零构建知识图谱的实战指南,重点阐述了知识建模与本体工程的核心地位。文章详细介绍了如何使用Protégé工具进行本体设计,包括定义领域、复用现有本体、构建类层次与属性约束,并讲解了如何利用D2RQ工具将关系数据库数据转换为RDF三元组,最终通过Apache Jena Fuseki搭建SPARQL端点进行知识查询与推理,让知识图谱真正“活”起来。

weixin_29057695的博客 568

Dify如何实现自主学习

摘要:Dify通过构建感知-决策-执行-反馈的闭环实现"自主学习",本质是打造能自动获取信息、更新知识库并调整策略的Agent工作流。核心包括:1)建立知识库作为记忆体;2)搭建感知与执行工具获取实时信息;3)通过工作流编排决策"大脑",包含LLM决策节点、行动执行节点和反馈反思节点。典型应用如根据用户反馈优化回答风格,通过存储反思日志到知识库实现持续优化。这种机制使智能体能基于新数据和经验不断自我改进。

专注于技术研发行业技术主要有AI人工智能视觉识别、物联网技术、电商平台、app原生技术、微信小程序、鸿蒙语言开发、办公企业oa、ERP等,致力于做东半球最优秀的程序员 725

Saruman's Army

#include<iostream> #include<cstdio> #include<string> #include<algorithm> using namespace std; #define MAX 1000 int N, R, a[MAX]; void solve() { sort(a, a + N); int i = 0, ...

heisetiantang的博客 475

GEE:连续变化检测 CCD 第一步(导出ee.Algorithms.TemporalSegmentation.Ccdc函数的结果)

连续变化检测与分类(Continuous Change Detection and Classification, CCDC)主要有两个组件,一个连续变化检测 CCD,另外一个分类。在 Google Earth Engine (GEE)平台上进行 CCD 时间序列变化检测的时候,为了防止内存超限问题,将代码分为2阶段执行。第一阶段是运行 `ee.Algorithms.TemporalSegmentation.Ccdc` 函数,本文将详细介绍 CCD 的第一阶段的代码。

养乐多的博客 2492

Cpp环境【Uva815】【Vijos2776】洪水 Flood

【问题描述】   有一个n行m列的网格,每个格子是边长为10米的正方形,网格四周是无限高的墙壁,第i行第j列每个格子的海拔高度为h[i][j]。现在网格中有T立方米的水,请你计算网格中的水平面的海拔高度,以及有水格子数目。注意,在网格中,所有有水格子的水平面的海拔高度相同,所以有水格子的数量为海拔高度严格小于水平面高度的格子数目。【输入格式】   第一行整数n和m,表示网格有n行m列。

天地皆逆旅,你我本行人。 903

Android系统内存和性能关系的调研

摘要:本文分析了低内存导致性能问题的判断方法和评估思路。通过监控/proc/vmstat中的allocstall_normal、pageoutrun等指标可判断内存回收频率,当MemFree、MemAvailable和Cached均低于500MB时可能出现明显卡顿。全文通过实验和理论验证分析,回答因内存瓶颈导致性能问题的一些分析和解决的思路。

jidapenglin28的专栏 129

提升YOLOv8性能:用Swin Transformer替换Backbone的详细实现与分析【YOLOv8】

YOLOv8作为目标检测领域的最新版本,在速度和精度之间取得了良好的平衡。然而,随着计算机视觉任务的复杂性不断增加,YOLOv8的标准主干网络(Backbone)在处理高分辨率图像或多尺度目标时,可能存在一定的局限性。为了进一步提升YOLOv8的性能,我们可以引入Swin Transformer替换其主干网络,以增强模型的全局感知能力和多尺度特征提取能力。本文将详细介绍如何在YOLOv8中用Swin Transformer替换原有的Backbone,提供代码示例,并深入探讨其中的原理和效果。

博客 1717

Cpp环境【Usaco 3.2.6】【Vijos1251】Павлов的香甜黄油

【问题描述】   农夫John发现了做出全威斯康辛州最甜的黄油的方法:把糖放在一片牧场上,他知道他所有的N只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。   农夫John很狡猾。就像以前的巴甫洛夫,他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的牧场。他打算将糖放在那里然后下午发出铃声,好让他可以在晚上挤奶。   农夫John知道开始时,每只奶牛都在各自喜欢的牧场(一个牧场不一

天地皆逆旅,你我本行人。 859

图解电动汽车:电动汽车主要参数

动力性指标 汽车的动力性指标主要有最高车速、加速时间、最大爬坡等,体现了汽车在行驶过程中能达到的极限运动水平。对于电动汽车,其动力性由搭载的驱动电动机决定,主要的参数包括最大扭矩、额定功率、最大功率、最大转速等。 功率是指物体在单位时间内所做的功的多少,是描述做功快慢的物理量,单位是 kW。 扭矩是指机械元件转动的力矩,也称转矩,表示转动力量的大小,单位是 N·m。 转速是指发动机/电动机的转速,的单位是 rpm,即转每分钟。额定转速是指在额定功率下电动机的转速,最大转速则是在最大功率下电动机的转速。

程序员「阿基米东」的编程之旅 2万+

Cpp环境【POJ3258】【Usaco2006】【Vijos1329】River Hopscotch跳石游戏

Description 问题描述 Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully jumping from rock to rock in a river. The excitement takes place on a long, straigh

天地皆逆旅,你我本行人。 754

贝叶斯网络 (Bayesian Networks) 原理与代码实例讲解

贝叶斯网络 (Bayesian Networks) 原理与代码实例讲解 1. 背景介绍 1.1 什么是贝叶斯网络? 贝叶斯网络(Bayesian Networks)是一种基于概率论的图形模型,用于表示随机

AI天才研究院 1330

Allegro172版本如何在联机模式下使用skill文件操作指导

注意:如果下次重新开启Symphony模式的时候可能导致symphony_skill中的文件内容被清空,所以最好将自己常用的skill文件都写到symphony_skill.txt中去,然后做好备份,需要的时候,在开启软件后把文件放到env目录中去。在用Allegeo172版本进行PCB设计的时候,有时会用到Symphony模式进行多人实时在线协同设计,如下图。这个模式设计起来可以提升设计速度,但是也有一个缺陷,就是不能使用skill文件。如下图,当调用skill的时候就会出现如下报错。

weixin_54787054的博客 1586

Cpp环境【Uva1615】【Vijos2867】 freeway 高速公路

【问题描述】   BOB是一名优秀的工程设计师,他正在设计一条穿越的农村地区的高速公路。为了方便一些村庄的人安全而快捷穿越高速路,需要设计跨越高速公路的人行天桥。当然为了节约成本,BOB须尽量减少天桥的数量。  在BOB的设计图纸上,高速公路是一条长为L的线段,它的左端点是平面坐标系的原点,右端点是x轴正方向的某个点。所有村庄在坐标系中标记成点。  现在请你帮助BOB确定需要修建人行天桥的最少数

天地皆逆旅,你我本行人。 748

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Cpp环境【Vijos3160】【NOIP Practice】病毒分裂

【问题描述】    A学校的实验室新研制出了一种十分厉害的病毒。由于这种病毒太难以人工制造了,所以专家们在一开始只做出了一个这样的病毒。  这个病毒被植入了特殊的微型芯片,使其可以具有一些可编程的特殊性能。最重要的一个性能就是,专家们可以自行设定病毒的分裂能力 K,假如现在有x 个病毒,下一个分裂周期将会有 Kx个一模一样的病毒。你作为该实验室的数据分析员,需要统计出在分裂到第N个周期前,一共有多少

天地皆逆旅,你我本行人。 591

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Cpp环境【Code[VS]5226】物品选取

【问题描述】   小沐同学确信所有问题都有个多项式时间算法,为了证明,他决定自己去当一次旅行商,在上路之前,小 X 需要挑选一些在路上使用的物品,但他只有一个 能装体积为 m 的背包。显然,背包问题对小沐来说过于简单了,所以他希望你来帮他解决这个问题。   小沐可以选择的物品有 n样,一共分为甲乙丙三类:   1.甲类物品的价值随着你分配给他的背包体积变化,它的价值与分配给它的体积满

天地皆逆旅,你我本行人。 565

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

【贪心算法专题】贪心算法入门:从“鼠目寸光”到两道经典例题(柠檬水找零 &将数组和减半的最少操作次数)

贪心策略是一种解决问题的策略:从局部最优推向全局最优。具体执行时可以拆成三步:把解决问题的过程分为若干步;解决每一步的时候,都选择当前看起来"最优"的解法;"希望"最终能得到全局最优解。这里的关键词是"希望"。贪心不像动态规划那样有明确的状态转移保证,它只是做了一个看起来很合理的选择,至于这个选择最终能不能通向全局最优,是需要单独证明的。

2501_93351213的博客 382
上一篇: Cpp环境【Uva815】【Vijos2776】洪水 Flood
下一篇: Cpp环境【POJ3320】Jessica's Reading Problem 洁西卡的复习计划
cqyz_Lebmond
博客等级 码龄10年 18粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值