bzoj1613[Usaco2007 Jan]Running贝茜的晨练计划

题意:

贝茜进行N分钟的晨跑。在每分钟的开始,贝茜会选择下一分钟是用来跑步还是休息,如果贝茜选择在第i分钟内跑步,她可以在这一分钟内跑Di米,并且她的疲劳度会增加 1。贝茜的疲劳度上限为M。如果贝茜选择休息,那么她的疲劳度就会每分钟减少1,但她必须休息到疲劳度恢复到0为止。在疲劳度为0时休息的话,疲劳度不会再变动。晨跑开始时,贝茜的疲劳度为0。 还有,在N分钟的锻炼结束时,贝茜的疲劳度也必须恢复到0。求贝茜最多能跑多少米。n≤10000,m≤500。

题解:

dp。f[i][j]表示现在是第i分钟,疲劳度为j。具体看代码。注意当贝茜疲劳度为0时也可以休息,过渡到下一分钟且疲劳度不变。

代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 #define inc(i,j,k) for(int i=j;i<=k;i++)
 5 #define maxn 510
 6 #define INF 0x3fffffff
 7 using namespace std;
 8
 9 inline int read(){
10     char ch=getchar(); int f=1,x=0;
11     while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}
12     while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
13     return f*x;
14 }
15 int f[maxn*20][maxn],d[maxn*20],n,m;
16 int main(){
17     n=read(); m=read(); inc(i,1,n)d[i]=read(); f[n+1][0]=0; inc(i,1,m)f[n+1][i]=-INF;
18     for(int i=n;i>=1;i--)
19         inc(j,0,m){
20             if(i+j>n+1)f[i][j]=-INF; else if(j==m)f[i][j]=f[i+j][0];
21             else if(j==0)f[i][j]=max(f[i+1][j+1]+d[i],f[i+1][0]);
22             else f[i][j]=max(f[i+1][j+1]+d[i],f[i+j][0]);
23         }
24     printf("%d",f[1][0]); return 0;
25 }

20160913

转载于:https://www.cnblogs.com/YuanZiming/p/5876583.html

bzoj1613[Usaco2007 Jan]Running贝茜的晨练计划*相关推荐

  1. BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划

    题目 1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec  Memory Limit: 64 MB Description 奶牛们打算通过锻炼来 ...

  2. 【USACO】贝茜的晨练计划

    [USACO]贝茜的晨练计划 题目: 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= N <= 10,000)分钟的晨跑. 在每分钟的开始 ...

  3. bzoj1613 贝茜的晨练计划

    Description 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1<=N<=10,000) 分钟的晨跑.在每分钟的开始,贝茜会选择下一分钟是 ...

  4. 【u025】贝茜的晨练计划

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= ...

  5. JZOJ__Day 10:【普及模拟】【USACO】贝茜的晨练计划

    题目描述 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= N <= 10,000)分钟的晨跑. 在每分钟的开始,贝茜会选择下一分钟是用来跑 ...

  6. 动态规划特训:贝茜的晨练(多状态转移)

    解题思路:影响最终跑多少米的是分钟和疲劳度这两个参量,很明显,这是一个二维dp的状态转化问题.dp[i][j]记录该状态下能跑的最大米数,其中i表示第i分钟,j表示疲劳度数.注意边界条件,设置dp[N ...

  7. [BZOJ1643][Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪

    1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: ...

  8. bzoj 1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪(DP)

    1643: [Usaco2007 Oct]Bessie's Secret Pasture 贝茜的秘密草坪 Time Limit: 5 Sec  Memory Limit: 64 MB Submit:  ...

  9. [BZOJ] 1634: [Usaco2007 Jan]Protecting the Flowers 护花

    1634: [Usaco2007 Jan]Protecting the Flowers 护花 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 827  S ...

最新文章

  1. 为什么越来越多硕博人消失在朋友圈?
  2. 一文讲清HBase的存储结构
  3. UVa572 Oil Deposits DFS求连通块
  4. DEDECMS v5.5 GBK Final 的一个鸡肋漏洞
  5. MySQL 字符串删除表情符_PHP处理字符中的emoji表情(判断/移除/存储)
  6. Layer 2 Tunneling Protocol
  7. 【HDU5306】【DTOJ2481】Gorgeous Sequence【线段树】
  8. oracle 选择最频繁出现之前,5文章数据
  9. linux mysql管理软件_8款适合Linux用户使用的数据库管理工具!
  10. Markdown 复选框
  11. 跨域小结(为什么form表单提交没有跨域问题,但ajax提交有跨域问题)
  12. 架构与设计的流程和核心概念笔记:三、业务层设计
  13. Consul删除服务
  14. 一位仁兄对于项目管理的精辟见解
  15. Linkerd、Consul、Istio、Kuma、Traefik、AWS App服务网格全方位对比
  16. python-opencv下读取影像释放内存
  17. 在JavaScript中创建SVG矢量图EAN13条码
  18. “但行好事 莫问前程 只问耕耘 不问收获 成功不必在我 而功力必不唐捐” 科技袁人·年终盛典——5G是科技时代非常重要的基础设施...
  19. SpringSecurity简单集成
  20. 据说99%的程序猿都不懂得这样表白

热门文章

  1. java最简单的代码
  2. 归并排序java_Java经典排序算法之归并排序详解
  3. 【精】EOS智能合约:system系统合约源码分析
  4. 低功耗能量回收时钟发生器和触发器的设计
  5. 【SQL】遍历字符串之Substr
  6. java syn包_月薪3K的后端面试点-网络与Java
  7. python的信号量机制
  8. 选择企业最合适的人才 —— 谈谈因人设岗与因事设岗
  9. win10 打开控制面板 和 启用 Telnet 的方法
  10. GTO与OKR工具选择