博客
关于我
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/

你可能感兴趣的文章
PHP FastCGI进程管理器PHP-FPM的架构
查看>>
referenceQueue用法
查看>>
Springboot处理跨域的方式(附Demo)
查看>>
php flush()刷新不能输出缓冲的原因分析
查看>>
Referenced classpath provider does not exist: org.maven.ide.eclipse.launchconfig
查看>>
Refactoring-Imporving the Design of Exsiting Code — 代码的坏味道
查看>>
PHP imap 远程命令执行漏洞复现(CVE-2018-19518)
查看>>
php include和require
查看>>
ref 和out 区别
查看>>
php JS 导出表格特殊处理
查看>>
php json dom解析
查看>>
ReentrantReadWriteLock读写锁解析
查看>>
php laravel实现依赖注入原理(反射机制)
查看>>
php laravel请求处理管道(装饰者模式)
查看>>
ReentrantReadWriteLock读写锁底层实现、StampLock详解
查看>>
PHP mongoDB 操作
查看>>
ReentrantLock读写锁
查看>>
ReentrantLock的公平锁与非公平锁
查看>>
php mysql procedure获取多个结果集
查看>>
php mysql query 行数,PHP和MySQL:返回的行数
查看>>