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

你可能感兴趣的文章
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>
nginx+Tomcat性能监控
查看>>
Nginx下配置codeigniter框架方法
查看>>
nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:128
查看>>
nginx添加模块与https支持
查看>>
Nginx用户认证
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>
Nginx的使用总结(二)
查看>>
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>
Nginx的是什么?干什么用的?
查看>>
Nginx访问控制_登陆权限的控制(http_auth_basic_module)
查看>>
nginx负载均衡器处理session共享的几种方法(转)
查看>>
nginx负载均衡的5种策略(转载)
查看>>
nginx负载均衡的五种算法
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx配置ssl实现https
查看>>
Nginx配置TCP代理指南
查看>>
Nginx配置——不记录指定文件类型日志
查看>>