【dp】bzoj1613: [Usaco2008 Jan]Running贝茜的晨练计划
还记得这是以前看上去的不可做题……
Description
Input
Output
* 第1行: 输出1个整数,表示在满足所有限制条件的情况下,贝茜能跑的最大距离
题目分析
我们可以自然地想到二维dp,用$f[i][j]$表示$i$分钟时疲劳度为$j$的最大答案值。
这题难就难在转移有限制条件:如果接下去要休息那么必须继续休息到0才行。
考虑这个限制条件的另一种表述方式:我们的$f[i][j]$只能转移到$f[i+j][0]$,而不能使$f[i+k][j-k]$都更新一遍。原因是若$f[i+k][j-k]$被更新了,它在之后的转移中就会被当做是一个独立的状态而不被限制。
那么就考虑完了这个限制条件,套上去做就可以了。
还有要注意的一点是:奶牛在疲劳度为0的时候可以继续休息。样例非常良心地给出了这种情况。
#include<bits/stdc++.h> int n,m;
int f[][],d[]; int main()
{
scanf("%d%d",&n,&m);
for (int i=; i<=n; i++) scanf("%d",&d[i]);
for (int i=; i<=n; i++)
{
for (int j=; j<=std::min(m, i); j++)
if (j){
f[i][j] = std::max(f[i-][j-]+d[i], f[i][j]);
if (i+j <= n)
f[i+j][] = std::max(f[i+j][], f[i][j]);
}else f[i][j] = std::max(f[i][j], f[i-][j]);
}
printf("%d\n",f[n][]);
return ;
}
END
【dp】bzoj1613: [Usaco2008 Jan]Running贝茜的晨练计划的更多相关文章
- [bzoj1613][Usaco2008 Jan]Running贝茜的晨练计划_动态规划
Running贝茜的晨练计划 bzoj-1613 Usaco-2008 Jan 题目大意:题目链接(U组题题意真的是没法概括qwq....). 注释:略. 想法:一眼dp题. 状态:dp[i][j]表 ...
- BZOJ1613: [Usaco2007 Jan]Running贝茜的晨练计划
1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1138 Solved: 554[ ...
- bzoj 1613: [Usaco2008 Jan]Running贝茜的晨练计划【dp】
设f[i][j]为第i分钟疲劳j,从三种情况转移,记得休息的时候判断从i开始休息到n能不能恢复到疲劳0 #include<iostream> #include<cstdio> ...
- 【动态规划】bzoj1613 [Usaco2007 Jan]Running贝茜的晨练计划
#include<cstdio> #include<algorithm> using namespace std; #define N 10001 int n,m,a[N],f ...
- BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划( dp)
dp乱搞即可...( 我就是这样 A 的.. 后来想改快一点..然后就WA了...不理了 ------------------------------------------------------- ...
- 1613: [Usaco2007 Jan]Running贝茜的晨练计划
1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1252 Solved: 609 ...
- BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
题目 1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec Memory Limit: 64 MB Description 奶牛们打算通过锻炼来 ...
- [Usaco2007 Jan]Running贝茜的晨练计划[一般DP]
Description 奶牛们打算通过锻炼来培养自己的运动细胞,作为其中的一员,贝茜选择的运动方式是每天进行N(1 <= N <= 10,000)分钟的晨跑.在每分钟的开始,贝茜会选择下一 ...
- 【BZOJ】1613: [Usaco2007 Jan]Running贝茜的晨练计划(dp)
http://www.lydsy.com/JudgeOnline/problem.php?id=1613 水题dp 设d[i][j]为i分钟疲劳为j d[i][j]=d[i-1][j-1]+a[i] ...
随机推荐
- 基础篇-psql帮助命令
\? psql命令帮助 \h sql语句帮助 \?常用命令 1.默认 \d 后面不跟参数,则显示当前数据库所有的表 2. \d 表名 ,则显示这个表的定义 3.\d 索引名 ,显示索引的信息 ...
- js对象属性—枚举、检查、删除
前言 我们经常需要操作对象的属性.这里记录ES5中操作对象属性的API和它们之间的差异. 枚举属性 for/in遍历对象中的所有可枚举属性(包括自有属性和继承属性) var obj = {name:& ...
- SpringMvc源码入门
servlet httpServletRequest httpServlet
- Java并发编程笔记
进程:程序的一次运行活动. 线程:程序的一个控制流程.用于执行一个任务.是cpu进行调度的最小单位. 死锁:所有的线程继续执行所需要的资源都被其他线程占用,导致所有线程都不能继续执行. 死锁的情景:1 ...
- python连接mysql时连接不到test文件夹怎么办
最新版mysql安装后默认是没有test文件夹的,这时候需要我们自己创建一个test文件夹, 文件默认路径如下 C:\ProgramData\MySQL\MySQL Server 5.7\Dat ...
- 虚拟机无法分配内存 virtual memory exhausted: Cannot allocate memory
1.内存交换空间(swap)的构建 安装Linux时一定需要的两个分区:根目录和swap(内存交换空间). swap的功能:在应付物理内存不足的情况下所造成的内存扩展记录的功能. 物理内存不足的时候, ...
- 彻底剖析RMI底层源码 、手写轻量级RMI框架
https://blog.csdn.net/Z0157/article/details/82049975 User public class User { private int age; publi ...
- PostgreSQL-4-DML数据操纵语言
1.查询语句 \h SELECT 查看SELECT语句说明 基本语法 SELECT column1, column2, columnN FROM table_name; 查询单列/多列数据 SEL ...
- springMVC-上传图片
SpringMVC文件上传与下载 上传图片 配置多媒体文件解析器 配置虚拟目录 在tomcat上配置图片虚拟目录,在tomcat下conf/server.xml中添加: <Context doc ...
- Docker容器与容器数据
Docker容器与容器数据 image 与container 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的 ...