博客
关于我
CodeForces - 10A_模拟
阅读量:136 次
发布时间:2019-02-28

本文共 1273 字,大约阅读时间需要 4 分钟。

Tom的笔记本电脑有三种工作状态,每种状态对应不同的功耗。正常模式下,每分钟消耗P1瓦特;如果在T1分钟内没有操作,系统会切换到屏幕保护模式,功耗降为P2瓦特;再过T2分钟后,系统进入睡眠模式,功耗降为P3瓦特。如果在任何一种模式下,Tom再次进行操作,系统会立即切换回正常模式。

Tom的使用时间被分为n个连续的时间段,每个时间段由[l_i, r_i]表示。每个时间段内,Tom都在持续操作笔记本。那么,问题来了:在整个时间区间[l_1, r_n]内,笔记本总共消耗了多少电量?

输入数据包括n、P1、P2、P3、T1、T2这六个整数,其中n表示时间段的数量,P1、P2、P3分别是三个工作状态下的功耗,T1和T2分别是切换到屏幕保护模式和睡眠模式所需的时间。接下来的n行每行包含两个整数l_i和r_i,表示第i个时间段的起始和结束时间。

为了计算总功耗,我们需要处理时间段之间的间隔时间。具体来说,我们需要分析在每两个相邻时间段之间的时间段,以及在最后一个时间段之后的时间段,计算这些间隔时间内笔记本的功耗。

对于每个时间段的开始和结束时间,我们可以计算出在正常模式下的持续时间,以及切换到其他模式的时间。需要注意的是,如果一个间隔时间完全小于T1,那么整个间隔时间都在正常模式下;如果在T1到T1+T2之间,则部分时间在正常模式,部分时间在屏幕保护模式;如果超过T1+T2,则后面的时间全部在睡眠模式。

通过这种方式,我们可以逐步计算出每个时间段和间隔时间内的功耗总和,最终得到整个时间区间内的总功耗。

举个例子,假设n=1,P1=3,P2=2,P3=1,T1=5,T2=100,时间段是[0, 10]。那么,在这个时间段内,笔记本一直处于正常模式,功耗为3瓦特。时间长度是10分钟,总功耗为3*10=30瓦特·分钟。

另一个例子,假设n=2,P1=8,P2=4,P3=2,T1=5,T2=1020,时间段是[0, 100]和[3050, 100]。第一个时间段持续100分钟,功耗为8瓦特·分钟。第二个时间段从3050分钟开始,持续100分钟。在这两个时间段之间的间隔时间是3050-100=2950分钟。我们需要计算这2950分钟内的功耗。

对于2950分钟的间隔时间,首先计算T1=5分钟,超过T1后,系统切换到屏幕保护模式,功耗降为4瓦特·分钟。再过T2=1020分钟后,系统切换到睡眠模式,功耗降为2瓦特·分钟。因此,2950分钟可以分为:

  • 5分钟:正常模式,功耗8瓦特·分钟。
  • 1020分钟:屏幕保护模式,功耗4瓦特·分钟。
  • 1020分钟:睡眠模式,功耗2瓦特·分钟。

总功耗为:85 + 41020 + 2*1020 = 40 + 4080 + 2040 = 6160瓦特·分钟。

再加上两个时间段的功耗,总功耗为:6160 + 8100 + 4100 = 6160 + 800 + 400 = 7360瓦特·分钟。

因此,最终的总功耗为7360瓦特·分钟。

通过这种方式,我们可以准确地计算出笔记本在整个时间区间内的总功耗。

转载地址:http://jeod.baihongyu.com/

你可能感兴趣的文章
OpenCV 4.1.0版drawContours
查看>>
opencv glob 内存溢出异常
查看>>
opencv Hog Demo
查看>>
opencv Hog学习总结
查看>>
opencv Mat push_back
查看>>
opencv putText中文乱码
查看>>
OpenCV Python围绕特定点将图像旋转X度
查看>>
opencv resize
查看>>
opencv SVM分类Demo
查看>>
OpenCV VideoCapture.get()参数详解
查看>>
opencv videocapture读取视频cap.isOpened 输出总是false
查看>>
opencv waitKey() 函数理解及应用
查看>>
OpenCV 中的图像转换
查看>>
OpenCV 人脸识别 C++实例代码
查看>>
OpenCV 在 Linux 上的 python 与 anaconda 无法正常工作.收到未实现 cv2.imshow() 的错误
查看>>
Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
查看>>
opencv 模板匹配, 已解决模板过大程序不工作的bug
查看>>
OpenCV 错误:(-215)size.width>0 &&函数imshow中的size.height>0
查看>>
opencv&Python——多种边缘检测
查看>>
opencv&python——高通滤波器和低通滤波器
查看>>