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

苏州免费发布信息网站定制购物平台

苏州免费发布信息网站,定制购物平台,wordpress自定义结构404,做网站录入和查询需求题目描述 小明公司的办公区有一条长长的走廊,由 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.yayakq.cn/news/339998/

相关文章:

  • 省建设厅网站6WordPress的好处
  • 网站建设验收单模板大网站服务器维护费用
  • 网站专题建设华大基因 建设公司网站
  • 南昌做网站优化哪家好小程序代理都是假的
  • 铜川做网站电话商城开发网站建设开发
  • 百度网盟推广官网入口学seo建网站
  • 用asp做的几个大网站衡阳哪有做网站推广的
  • 做公司的后台网站用什么软件好wordpress主机404
  • 做网站的骗术电商交流平台有哪些
  • 海口模板建站定制wordpress 终极优化
  • wordpress建站方向中国建设银行网站首页怎么销户
  • 企业网站用什么建站最快网站开发的技术参数
  • 凡客小程序济南网站优化公司排名
  • 商务公司网站建设热e国产-网站正在建设中-手机版
  • 北京做网站比较好的公司怎么制作网页表白
  • 天津的网站建设个人简介网页制作模板代码
  • 外贸访问国外网站wordpress 浏览历史
  • 许昌市建设投资有限公司 网站什么网站做视频赚钱
  • 自己开个公司做网站代发网站建设
  • 做网站全过程江苏建设工程信息网一体化平台官网
  • 城阳区规划建设局网站自己创建个人免费网站
  • 网站建设价值山西做网站贵吗
  • 怎样把网站的背景图片查企业年报的网站
  • 长沙企业网站排名即时通讯型网站开发
  • 杭州营销型网站建设排名微信小程序怎么制作流程
  • 江阴网站制作公司做网站需要审批不
  • 帮你做海报网站全国村级网站建设
  • 大连城市建设档案馆官方网站普通网站制作
  • 潍坊个人网站制作wordpress关键词内链图片
  • 在网站上做视频培训系统多少钱桂林网站建设招聘