电梯

Div3 595 E

☆樱花仙子☆ 提交于 2020-03-15 12:54:48
By Elevator or Stairs? 简单的二维DP $f[i][j] $ 表示第 \(i-1\) 层使用 第 \(j\) 种方法达到 第 \(i\) 所需要的最短时间, \(j = 0\) 代表 走楼梯, \(j = 1\) 电梯。 \(f[i+1][0]\) 表示第 \(i\) 层使用 楼梯 到达 第 \(i+1\) 层的最短时间 只有当第 \(i\) 层走楼梯,第 \(i+1\) 层走电梯的时候,才用加上 \(c\) 它是等待电梯的时候, 如果 第 \(i\) 层已经在电梯里面,第 \(i+1\) 不用等电梯就可以上去了,所以不用加 \(c\) #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10; int n,c; int a[N],b[N],f[N][2]; // f1,0 不在电梯,f1,1 在电梯内 int main(){ bool ok = 1; cin >> n >> c; for(int i = 1;i < n; ++i) cin >> a[i]; for(int i = 1;i < n; ++i) cin >> b[i]; memset(f,0x3f,sizeof f); f[1][0] = 0,f[1][1] = c; for(int i = 1;i < n; ++i

oo博客2

∥☆過路亽.° 提交于 2020-02-21 11:32:29
一、 从多线程的协同和同步控制方面,分析和总结自己三次作业来的设计策略及其变化   第五次:这次作业我的策略便是读入指令一个线程、调度器一个线程、电梯三个线程,通过调度器线程将读入指令线程读入的指令分配给三个电梯,而三个电梯则一直在运行,检测是否有指令产生。本次作业完全使用 synchronized关键字进行同步控制。   第六次:这次作业因为指导书要求不太明确,我便放弃了读入指令线程这个设计以达到更好地同步控制。我的设计是将指令全部读入后,根据指令数量建立对应的监控线程,这样一来我只需做好监控线程的同步即可,实现起来较为容易。   第七次:这次作业的设计又变回了第五次作业的设计策略,即读入指令一个线程、调度器一个线程来实现指令的读入与分配,之后让 100个出租车成为100个线程自由移动。 二、 基于度量来分析自己的程序结构 第五次作业:   这次作业因为给电梯分配指令时要考虑的因素过多(例如同质和捎带),因此 Dispatch 类写的过于臃肿,在分配算法上可以继续优化。   优点:采用 Button 思路使电梯运行策略变得简单。   缺点:对于捎带判断思路不清晰导致代码变得臃肿。   设计原则缺陷:责任均衡分配原则及懂我原则。 第六次作业:   这次作业由于涉及到线程的类只有 Monitor 类,导致该类责任过重成为 God 类。   优点:线程较少,同步控制容易实现。   缺点

偷来一个好故事,hehe

旧巷老猫 提交于 2020-01-02 15:36:51
不记得是谁了,噢,对,是小冻鱼,发来一个测试的链接,让我做她出的题。冻鱼,是我的初中同学,我们上学时不是老腻在一起的同学,所以我对她不是很了解。哇哈哈,我竟然能够做她的题做到第一名,当她的状元,也算是牛的很啊。 当天晚上我就出了我的题,确切的说是凌晨,我生成了我的题目链接,然后发给同在线的moon,1小时过去后,我发现moon还在线,那会儿是丑时,我问她怎么还没睡,她说正出题呢,hehe....和我一样,在坚苦琢绝的出这不知道该怎么出的题。 http://appleblossom.testren.com/files/appleblossom.htm 出题完毕,看到snake,他第一个做,厉害啊,得了90呢。然后我就把链接发给qq上我熟悉的每一个人,终于成就了今天这个名次表。 其中,竟然还真有得满分的,是我预先没想到的,harper为了得这个满分,前前后后居然做了10多次, 嘎嘎.... 从Vicki那里偷来得文章噢,一定要用心读: 嫁一个肯背你上楼的人 她是城市的白领,他是城市的扛包工人。高中毕业后,两个人划着完全 不同的青春轨迹。可是,他 们依然保持着恋人的关系。   仅仅是保持着。   白天,她在公司里喝正宗的雀巢咖啡,下班后,她吃他买来的廉价的冰棍;中午,她品味着公司 里精致的饭菜,晚上,他带她去脏兮兮 的饭馆吃并不正宗的兰州拉面。她认为,自己的生活太不协调。   这样的恋情

电梯调度算法

余生颓废 提交于 2019-12-23 20:32:03
   最近一直为2012年09月份找工作做准备,所以在不断的复习以前学过的知识,当然了也在不断学习新的知识。谈到找工作当然算法是比较重要的一部分了,似乎给我的感觉算法好的童鞋找到一个年薪十万的工作木有任何的问题,虽然说现在的情况,对于IT行业做技术的人,年薪十万已经是习以为常的事情了,但是刚毕业的我们能拿到十万年薪也是不错了吧,起码目前是刚毕业的学生嘛!!不说了,说说今天这篇文章要写的东西吧,今天要写的是一篇算法的文章。 1.问题定义   电梯大家对于大家已经是很熟悉了,现在存在这样的问题,那就是在繁忙的上下班时间,在每层楼电梯都要停。这显然让很多办公室在高层的同志有点受不了。现在要求是这样:由于这个电梯楼层并不高,所以电梯只在一个楼层停,这样做电梯的每个人都在这个楼层走到自己想去的楼层。那么怎么知道电梯每次在哪个楼层停下来呢?在一楼的时候每个乘客选择自己的目的层,电梯可以快速的自动计算出应停的楼层。这个应停的楼层应该保证这次乘坐电梯的所有乘客的爬楼梯层数之和最少(包括上下楼)。 2.问题分析   该 问 题本质上是一个优化问题。首先为这个问题找到一个合适的抽象模型。从问题中可以看出,有两个因素会影响到最后的结果:乘客的数量及需要停的楼层。因此,我们可以从统计到达各层的乘客数目开始分析。   假设楼层总共有N层,电梯停在第x层,要去第 i 层的乘客数目总数为 total[i],

Div3 595 E

三世轮回 提交于 2019-12-02 12:04:46
By Elevator or Stairs? 简单的二维DP $f[i][j] $ 表示第 \(i-1\) 层使用 第 \(j\) 种方法达到 第 \(i\) 所需要的最短时间, \(j = 0\) 代表 走楼梯, \(j = 1\) 电梯。 \(f[i+1][0]\) 表示第 \(i\) 层使用 楼梯 到达 第 \(i+1\) 层的最短时间 只有当第 \(i\) 层走楼梯,第 \(i+1\) 层走电梯的时候,才用加上 \(c\) 它是等待电梯的时候, 如果 第 \(i\) 层已经在电梯里面,第 \(i+1\) 不用等电梯就可以上去了,所以不用加 \(c\) #include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10; int n,c; int a[N],b[N],f[N][2]; // f1,0 不在电梯,f1,1 在电梯内 int main(){ bool ok = 1; cin >> n >> c; for(int i = 1;i < n; ++i) cin >> a[i]; for(int i = 1;i < n; ++i) cin >> b[i]; memset(f,0x3f,sizeof f); f[1][0] = 0,f[1][1] = c; for(int i = 1;i < n; ++i

改变我人生的2分钟

烈酒焚心 提交于 2019-11-30 05:52:32
人生或许就是被那攸关未来的几分钟所改变的,我很庆幸,我遇到了这几分钟,这或许不是一件好事,但它打醒了我!让我终于明了了许多事情,从某种意义上,它改变了我的一生! 今天晚上放学回家,我和爸爸妈妈一起到了家楼下,但爸爸有事,约了饭局,没陪我们一起上楼,我和妈妈一起进的电梯,跟着进来一男一女,我和妈妈先进的,站到了电梯里侧,他们站在外侧,那男的抱着一个大石头,至少50kg,砸到脚绝对截肢没商量的那种,可能是用来腌咸菜的,那女的比那男的先进的电梯,那男的一进电梯,就把那大石头用力砸到电梯中央,发出“Duang!!!!!”的一声,电梯的大理石地面几乎被砸裂!!!我和妈妈被吓了一大跳,他们摁的18楼,我们家住在19楼,毕竟是楼上楼下,我妈还是强作笑容,尽可能镇定的问道:“呦,这石头可挺大啊,砸着人咋办啊?”,那人渣一瞪眼:“啊!哼!我告诉你!砸着脚咱赔脚的,砸着脑袋咱赔脑袋的!你怕个屁!!!”,我妈一看是个醉汉兼人渣(或许应该说是人渣兼醉汉),便不再与他争辩,默默的站在一边。但我毕竟没我妈这么丰富的阅历,我还是小声嘟囔了一句:“电梯是公共的…”,那人渣又一瞪眼:“你放啥屁?!!我***的!”,便向我走来,手伸了起来,那女的显然是那人渣的妻子,没喝酒,见状不妙赶紧拦住那人渣,他粗暴的推开她,她又使劲抓住了他,我妈妈见状不妙,赶紧把我推到她身后,那女的给了那人渣一拳:“你个酒鬼!跟孩子较什么劲

[导入]【转】搭乘电梯

[亡魂溺海] 提交于 2019-11-26 15:13:06
群里面朋友发的:   为了自己,为了朋友,为了亲人……   有一天搭乘电梯,就遇上了电梯突然断电,虽然紧急供电系统几秒后就开始作用,可是电梯还是从13楼迅速往下墬。   还好当时记起曾经看过电视教的,赶快把每一层楼的按键都按下,好在电梯在五楼终于停止了,..真的有检回一条命的感觉!   当你面临生死一线间时,当下的你所做的每一个动作将决定你的生死与否。   生活中,难免会坐到电梯,但是!万一遇到电梯发生事故,迅速往下坠落时,你可能只有一个念头「站在电梯中间!...」   可是今天.....我在电视的一个外国频道看到一个非常好的节目。其中,他们还请了专家示范『电梯下坠时保护自己的最佳动作』   第一、(不论有几层楼)赶快把每一层楼的按键都按下。   第二、如果电梯有手把,一只手要紧握手把。   第三、整个背部跟头部紧贴电梯内墙,呈一直线。   第四、膝盖呈弯曲姿势。   说明:因为电梯下坠时,你不会知道它会何时着地,且坠落时很可能会全身骨折而死。   所以:   第一点是当紧急电源启动时,电梯可以马上停止继续下坠   第二点是为了要固定你人所在的位子,以致于你不会因为重心不稳而摔伤   第三点是为了要运用电梯墙壁作为脊椎的防护   第四点是最重要的是因为韧带是唯一人体富含弹性的一个组织,所以借用膝盖弯曲来承受重击压力,比骨头来承受压力来的大   这个信息绝不虚构