题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=6098

题意简介:

Jim想起了初中生物书上的蛋白质,于是要锻炼肌肉。当然这一段是跟题意没关系的。
健身房有十台机器,现在给出了Jim在每台机器的锻炼时间和休息时间,机器不是Jim专属的,
每个机器上还有一个专一锻炼者在锻炼,专一锻炼者有自己的锻炼时间,休息时间和开始时间,
在开始时间之后,就开始不停的在这台机器上锻炼休息锻炼休息循环往复,
(专一锻炼者只用一个机器,相当专一了)
Jim在0时刻从1号机器开始锻炼,一直锻炼到10号机器,要锻炼三个来回。
问锻炼完之后一共需要多少时间,最后一个锻炼的休息时间不计算在内。

分析:

一看就是模拟题目
因为Jim是从1号到10号有序进行的用use[],rest[]分别代表Jim在每台机器上的锻炼时间和休息时间
用u2[],r2[]分别代表每个机器上的专一锻炼者的锻炼时间和休息时间
用st[]表示专一锻炼者每次的开始时间,st[]是要更新的,因为他是循环往复锻炼的ans记录现在的时间,j记录现在要开始锻炼哪一台机器了要是此时这台机器上的专一锻炼者的st[j]在ans之后,那么Jim就可以直接锻炼,此时专一锻炼者的st[j]是要更新的,如果Jim锻炼完专一锻炼者还没开始,那么st[j]不变如果Jim锻炼完已经超过了st[j],那么st[j]要更新成Jim锻炼完的时间如果此时这台机器上的专一锻炼者的st[j]在ans之前,那么Jim就要等一下才能锻炼,找最近的开始时间,判断一下专一锻炼者是在锻炼还是在休息,锻炼的话,Jim就等休息的话,直接开始锻炼,顺便更新下一次专一锻炼者的st[j]

代码:

#include <bits/stdc++.h>
using namespace std;
#define ll long long int
const int inf=0x3f3f3f3f;
double pi=3.141592653589793238462643383279502884;
const ll mod=1e9+7;
const int maxn=300005;
int use[35],rest[35];
int u1[11],r1[11],st[11];
int ans;
int main()
{while(~scanf("%d %d",&use[1],&rest[1])){ans=0;for(int i=2;i<=10;i++)scanf("%d %d",&use[i],&rest[i]);for(int i=1;i<=10;i++)scanf("%d %d %d",&u1[i],&r1[i],&st[i]);for(int i=1;i<=30;i++){//锻炼第几个器材int j=0;if(i%10==0)j=10;elsej=i%10;if(st[j]>ans)//专一锻炼者还没开始{ans+=(use[j]+rest[j]);if(st[j]<=ans-rest[j])//更新st[j]st[j]=ans-rest[j];}elseif(ans>=st[j]){while(st[j]+u1[j]+r1[j]<=ans)st[j]+=(u1[j]+r1[j]);//找最近一次的专一锻炼者开始时间if(ans<=st[j]+u1[j])//专一锻炼者正在健身{ans=st[j]+u1[j];//等锻炼者锻炼完我进行ans+=(use[j]+rest[j]);st[j]=max(st[j]+u1[j]+r1[j],ans-rest[j]);//更新st[j]}else//锻炼者正在休息,Jim先进行,更新st[j]{ans+=(use[j]+rest[j]);st[j]=max(st[j]+u1[j]+r1[j],ans-rest[j]);}}}ans=ans-rest[10];printf("%d\n",ans);}return 0;
}

UVALive 8076 Workout for a Dumbbell相关推荐

  1. ecna 2017 J Workout for a Dumbbell (模拟)

    问题 J: Workout for a Dumbbell 时间限制: 1 Sec  内存限制: 128 MB 题目描述 Jim Ratt has just joined a local fitness ...

  2. ECNA 2017 Problem J: Workout for a Dumbbell 模拟

    参考博客 提交链接 FROM SDUT 2018 Summer Team Contest 8th 地址 #include <iostream> #include<bits/stdc+ ...

  3. DP UVALive 6506 Padovan Sequence

    题目传送门 /*题意:两行数字,相邻列一上一下,或者隔一列两行都可以,从左到右选择数字使和最大DP:状态转移方程:dp[i][j] = max (dp[i][j], dp[1-i][j-1] + a[ ...

  4. R语言ggplot2使用geom_line函数geom_point函数可视化哑铃图、并对哑铃图进行排序(reorder dumbbell plot)

    R语言ggplot2使用geom_line函数geom_point函数可视化哑铃图.并对哑铃图进行排序(reorder dumbbell plot) 目录

  5. Workout Wednesday Redux (2017 Week 3)

    I had started a "52 Vis" initiative back in 2016 to encourage folks to get practice making ...

  6. The UVALIVE 7716 二维区间第k小

    The UVALIVE 7716 二维区间第k小 /** 题意:给一个n * n的矩阵,有q个查询每次查询r,c,s,k表示已(r,c)为右上角 大小为s的正方形中 第k小的元素n <= 250 ...

  7. UVALive 8513 lovers 2017 西安区域赛 B 贪心+multiset

    UVALive 8513 有2种人,每个人有自己的权值$A_i$ $B_i$ 当$A_i + B_i >=K$时 两个人可以配对 问最多多少人可以配对 解法 : 把$/{ A_i /}$ 排序 ...

  8. 训练指南 UVALive - 3713 (2-SAT)

    layout: post title: 训练指南 UVALive - 3713 (2-SAT) author: "luowentaoaa" catalog: true mathja ...

  9. 逆序数 UVALive 6508 Permutation Graphs

    题目传送门 1 /* 2 题意:给了两行的数字,相同的数字连线,问中间交点的个数 3 逆序数:第一行保存每个数字的位置,第二行保存该数字在第一行的位置,接下来就是对它求逆序数 4 用归并排序或线段树求 ...

最新文章

  1. iOS使用Workspace来管理多项目
  2. python设置环境路径_window10配置python虚拟环境的路径
  3. Windows Server 2019 Standard上部署安装MongoDB
  4. 2 0 2 0 年 第 十 一 届 蓝 桥 杯 - 国赛 - CC++大学B组 - B.扩散
  5. mysql 磁盘利用率100_磁盘空间使用率100%的故障处理
  6. parted如何将磁盘所有空间格式化_linux下大于2T的硬盘格式化问题
  7. Vue中定义全局变量与常量的各种方式详解_vue.js_脚本之家
  8. 【华为云技术分享】快速理解spark-on-k8s中的external-shuffle-service
  9. (82)FPGA仿真停止激励(stop)
  10. 【Elasticsearch】Elasticsearch 7.3 的 offheap 原理
  11. Redis Cluster 伪集群的搭建
  12. 如何解决JDK的安装路径中有空格的情况
  13. 清华,就要成为地表最强研究机构了
  14. BugKidz专版NBSI
  15. CentOS6 的yum源配置
  16. 杭州/北京内推 | 蚂蚁集团数字身份及安全生态团队招聘学术实习生
  17. 解决Ubuntu16.04 wineQQ和wps office 不能输入中文的问题
  18. 8个字符即可令Skype崩溃而且再也打不开
  19. php毕业设计 基于php+mysql在线视频点播系统毕业设计开题报告功能参考
  20. dede站点地图模板:dede功能模块模板路径对应表

热门文章

  1. C语言代码覆盖率测试软件,代码覆盖率检测工具GCOV
  2. Vue routers
  3. “0基础考生考前三小时突破《申论》80分气哭学霸”——单一题(问题+影响)
  4. 微信开发(1):VM331:2 未找到 pages/index/index.wxml 文件
  5. 安卓逆向——某宝app爬虫抓取
  6. 中年妇女,偶很想念你
  7. Solidworks篮球建模
  8. 语言中的历史——汉语和突厥语的纠缠
  9. [论文翻译]V-Net:Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation
  10. httpd的MPM工作模式