电梯停靠问题CPP实现
假设某人要乘坐电梯,从楼层 到楼层 ,若电梯停靠位置 在 之间,则电梯移动距离为。
若停靠位置在 ,则电梯要多移动 2 距离。若停靠位置在 ,则电梯要多移动 4 距离。我们可
以发现,停靠位置从 到 1,电梯多移动的距离呈公差为 2 的等差数列。
我们假设 表示电梯停靠在 的总移动距离,那么给定 的时候,相当于将整个数组全部加
,并且将 到 1 的位置额外加一个公差为 2 的等差数列;同理,将 到 的位置加一个公差为 2 的等差数列
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, m, a, b;
long long ans = 1e18, pos, sum = 0;
cin >> n >> m;
vector<long long>pre(n+2), suf(n+2), pre1(n+2), suf1(n+2);
while(m--){
cin >> a >> b;
pre[a-1] += 2;
suf[b+1] += 2;
sum += (b - a) * 2;
}
for(int i = n; i >= 1; i--){
pre[i] += pre[i+1];
pre1[i] = pre1[i+1] + pre[i];
}
for(int i = 1; i <= n; i++){
suf[i] += suf[i-1];
suf1[i] += suf1[i-1] + suf[i];
if(suf1[i] + pre1[i] < ans){
pos = i;
ans = suf1[i] + pre1[i];
}
}
cout << pos << " " << ans + sum << endl;
}
电梯停靠问题CPP实现相关推荐
- 电梯停靠问题---------------给你出道题
有一天,在电梯里,很多人,大家纷纷按了自己想去的楼层 因为电梯一个劲地停,我就想去4楼的能不能在3楼就下,这样在4楼就能少停一次,他们可以走楼梯,牺牲一点个人利益换取集体利益最大化 我想,每个人在电梯 ...
- 电梯控制算法(8)多电梯场景——双电梯的空闲停靠
电梯控制算法 https://blog.csdn.net/nameofcsdn/article/details/106874615 如果,两个电梯是等价的,那么,2个电梯的空闲停靠楼层是多少呢? 假设 ...
- 1.8 小飞的电梯调度算法
题目:有一栋楼,如今设计一种电梯调度算法:电梯在一楼让大家上电梯,然后依据大家选择要到的楼层算出某一楼层i,电梯在i层停下让全部人下电梯,然后大家爬楼梯达到自己的楼层.请问电梯停在哪一层.能够使得这一 ...
- 面试官问我怎么设计100层大楼的电梯按键,我......
PMCAFF(www.pmcaff.com):互联网产品社区,是百度,腾讯,阿里等产品经理的学习交流平台.定期出品深度产品观察,互联产品研究首选. 外包大师(www.waibaodashi.com): ...
- 第二单元作业——电梯模拟总结
一.设计策略 1. 单部先来先服务电梯 第一次作业采用了最基本的生产者-消费者模型,电梯请求是模型中的商品,将控制器作为存储请求的仓库,主线程作为生产者向仓库存放请求,电梯作为消费者从仓库取出请求并处 ...
- 现代软件工程系列 结对编程 (II) 电梯调度程序新需求
原来布置的作业在这里: http://www.cnblogs.com/xinz/archive/2010/11/28/1890300.html 正如在现实生活中一样, 软件项目的需求也会经常发生变化. ...
- 教学楼电梯调度需求分析
1.引言 1.1 编写的目的 分析学校教学楼电梯调度在高峰或低谷时期运行是否快捷方便,以及安全性等问题,为后续开发电梯调度解决方案,系统设计与维护做好准备. 1.2 背景说明 学校教学楼楼层有18层, ...
- 测试面试题集-3.生活物品测试:行李箱、电梯、洗衣机
------·今天距2020年52天·------ 这是ITester软件测试小栈第76次推文 Q: 如何测试一个行李箱? A: 功能测试: 1.行李箱大小.厚度.容量.各个面(包括拉杆面.脚轮面)承 ...
- 功能测试之电梯的测试用例【杭州多测师】【杭州多测师_王sir】
界面测试: 外观(里面.外面)美观性 电梯空间尺寸是否和设计尺寸一致 按钮是否清晰和易懂 显示楼层的显示屏是否安装 是否联系外界的电话.紧急电话 设备检测说明书 安全规范说明书 灯 标识的承重和人数 ...
最新文章
- 计算机在生命科学中的发展前景,往生命科学领域发展的职业前景
- Java nginx 双向ssl_使用Nginx实现HTTPS双向验证的方法
- Git 实用操作 | 撤销 Commit 提交
- 使用use index优化sql查询
- javascript option 菜单图标_善用 CSS,不用 JavaScript 也能写出这些元素
- 我的前端面试日记(一)
- U-Time巡回完美收官 演讲嘉宾干货分享:数据篇
- 如何让普通人了解网络隐私的重要性
- 三班倒有害健康,建议六班倒
- php 查看linux硬盘序列号,LINUX获取硬盘序列号
- 计算几何(一) by 邓俊辉老师
- 小呆聚合支付系统是个人二维码免签约即时到账多商户支付系统v1.7文字教程
- [苹果开发者账号]06 转让开发者账号后,开发者年费自动续费问题
- 哪个品牌的触控笔质量好?ipad好用的触控笔
- iPhone SE2外观酷似iPhone 8,香吗?
- 华为nova7se乐活版支持鸿蒙,华为nova7se乐活版和nova8se的详细对比参数对比
- Python爬虫实践-网易云音乐
- html2canvas实现一键截图
- Python Flask教程学习01
- 江苏省基础云计算机服务平台,江苏省一师一优课一课一名师登录入口
热门文章
- W ndows10如何清理使用痕迹,Win10 C盘突然爆满,怎么清理?史上较全的C盘清理方案,推荐收藏...
- 邮件安全引发的事件引人深思
- 类加载机制:双亲委任模型和tomcat类加载器
- 常用的微服务框架有哪些
- Unity打包 iOS屏幕镜像失败的解决方法
- linux文件权限转移,Linux文件权限中保存了( )信息。
- 如何给pdf文件添加书签
- catia文件打开方式修复
- 南航直减APP自动出票成功率95%以上
- C++挖掘程序本质(第三章C++其他语法-终)李明杰-M了个J 配套教材