当前位置: 首页 > news >正文

安徽网站建设认准-晨飞网络吸引人的软文标题

安徽网站建设认准-晨飞网络,吸引人的软文标题,ps做网站字体大小,做移动端电影网站题目描述 小明公司的办公区有一条长长的走廊,由 NN 个方格区域组成,如下图所示。 走廊内部署了 KK 台扫地机器人,其中第 ii 台在第 A_iAi​ 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。…

题目描述

小明公司的办公区有一条长长的走廊,由 NN 个方格区域组成,如下图所示。

走廊内部署了 KK 台扫地机器人,其中第 ii 台在第 A_iAi​ 个方格区域中。已知扫地机器人每分钟可以移动到左右相邻的方格中,并将该区域清扫干净。

请你编写一个程序,计算每台机器人的清扫路线,使得

  1. 它们最终都返回出发方格,

  2. 每个方格区域都至少被清扫一遍,

  3. 从机器人开始行动到最后一台机器人归位花费的时间最少。

注意多台机器人可以同时清扫同一方块区域,它们不会互相影响。

输出最少花费的时间。 在上图所示的例子中,最少花费时间是 6。第一台路线:2-1-2-3-4-3-2,清 扫了 1、2、3、4 号区域。第二台路线 5-6-7-6-5,清扫了 5、6、7。第三台路线 10-9-8-9-10,清扫了 8、9 和 10。

输入描述

第一行包含两个整数 N,K。

接下来 K 行,每行一个整数 Ai​。

输出描述

输出一个整数表示答案。

我们不妨按照这样的思路解题:

我们引入这样的例子:

比如给一根绳,围成一个矩形,求在长和宽为多少时矩形面积最大

那么,可求得当长和宽相等时矩形面积最大,长和宽之间的差距为0

那么用同样的思路,有n个格需要清扫,有k个机器人,我们希望每个机器人能够平分任务而且尽量不重复清扫,这样消耗时间是最短的,消耗时间设为x

所以,这里用二分查找计算出最小值

剩下的思路不好表达,不妨结合代码来说

total代表前(n-1)个机器人已经清扫到的格数,这里我们把机器人的任务设定为需要清扫完右边的并且在下一个机器人左边的方格

首先,目前这个机器人根据目前的x值能够到达total位置(这个机器人能够弥补上一个机器人没有清扫的格数),这个是必须要满足的条件,如果下一个机器人不能够填补上一个机器人留下的漏洞,那么漏洞会越积越大,这肯定是不行的

然后,满足了这个条件后,就需要优中选优,这里我们分为两种情况讨论:

1.如果前一个机器人能够完成自己的任务,即目前这个机器人不用往左边清扫了,total直接加上目前的x值再减一就是已经清扫的范围

2.如果前一个机器人不能完成自己的任务,那么需要先完成前一个机器人剩下的任务,然后再开始自己的工作

代码如下:

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+7;
int n,m;
int robot_list[maxn];bool check(int x)
{int total=0;for(int i=0;i<m;i++){if(robot_list[i]-x<=total)//能够到达total位置,弥补前面一个机器人留的未清扫区域 {if(robot_list[i]<=total) total=robot_list[i]+x-1;else total+=x;//左边没扫完  }else return false; //不能够到达total位置,不能弥补前面一个机器人留的未清扫区域,直接失败 }return total>=n;//这种情况下才成立,返回true 
}
int main()
{cin>>n>>m;for(int i=0;i<m;i++){cin>>robot_list[i];}sort(robot_list,robot_list+m);//排序int left=1,right=n,middle=0,ans=0;while(left<=right){middle=(right+left)/2;if(check(middle)){right=middle-1;ans=middle;}else{ left=middle+1; } } cout<<(ans-1)*2<<endl;return 0;
}

http://www.laogonggong.com/news/850.html

相关文章:

  • 集安网站建设网络营销公司是做什么的
  • 专业做网站排名多少钱上海搜索优化推广
  • 网站如何做国外推广seo行业
  • 建设的网站后台会自动退出是正常的aso搜索排名优化
  • 如何做让公众都知道的网站网站关键词上首页
  • 贵阳疫情最新消息通知甘肃新站优化
  • 网站的超链接怎么做注册网址在哪里注册
  • 北京招聘网站开发seopc流量排名官网
  • 这几年做哪个网站能致富seo服务商排名
  • 公司核名在哪个官方网站百度代理公司怎么样
  • 粮食局网站建设报告网页推广怎么收取费用
  • 怎么做查真伪网站俄罗斯搜索引擎yandex推广
  • 网站建设元素如何叠加浏览器网址
  • 户网站建设整改报告网络运营是什么意思
  • 建一个个人网站如何做网站关键词优化
  • 辽宁数据网站建设哪家便宜广告推广语
  • 给一个网站如何做推广免费网站建站页面
  • 免费建站免费网站申请接推广app任务的平台
  • 衡水网站建设服务商新东方烹饪学校学费价目表
  • 专业设计app廊坊百度快照优化哪家服务好
  • 免费做爰网站百度关键字
  • 动态网站的滚动图片怎么做青岛seo
  • 建个网站需要投资多少钱seo关键字优化技巧
  • html5网站制作泉州百度网站推广
  • 国外哪个网站可以做外贸比较好网站监测
  • 苹果软件做ppt下载网站有哪些内容搜索引擎优化特点
  • 什么网站可以做期货seo咨询解决方案
  • ps做网站字号大小北京网站推广排名
  • 重庆转店铺哪个网站平台好优化关键词排名提升
  • 普宁做男科检查长江网站L如何创建网站的快捷方式