POJ2228 Naptime
题目:http://poj.org/problem?id=2228
环形dp。开一维记录当前最后一份时间是否在睡。很精妙地分两类。
1.正常从1到n线性dp。
2.上边只有一种情况未覆盖:第一份时间就已经在熟睡。这要求最后一份时间必须在睡。规定一下再dp一遍即可。(别忘特判b==1)
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,b;
long long u[],d[][],ans;
int main()
{
scanf("%d%d",&n,&b);
for(int i=;i<=n;i++)scanf("%lld",&u[i]);
memset(d,-,sizeof d);
d[][]=;d[][]=;
for(int i=;i<=n;i++)
for(int j=b;j>=;j--)
{
d[j][]=max(d[j][],d[j][]);
if(j>)d[j][]=max(d[j-][],d[j-][]+u[i]);
}
ans=max(d[b][],d[b][]);
memset(d,-,sizeof d);
d[][]=u[];
for(int i=;i<=n;i++)
for(int j=b;j>=;j--)
{
d[j][]=max(d[j][],d[j][]);
if(j>)d[j][]=max(d[j-][],d[j-][]+u[i]);
}
if(b>)ans=max(ans,d[b][]);
printf("%lld",ans);
return ;
}
POJ2228 Naptime的更多相关文章
- poj2228 Naptime【(环结构)线性DP】
		Naptime Time Limit: 1000MS Memory Limit: 65536K Total Submissions:3374 Accepted: 1281 Descriptio ... 
- [USACO2005][POJ2228]Naptime(对特殊环状DP的处理)
		题目:http://poj.org/problem?id=2228 题意:将一天分为N小时,每小时都有一个价值w,有一头牛要睡觉,而它的睡觉是连续的,且第一小时不能算价值,即如果你睡了[a,b],则你 ... 
- POJ2228 Naptime 环形DP
		题目大意:牛在第i个小时睡觉能够恢复U[i]点体力.睡觉时第一小时不恢复体力.一天的N小时连着下一天的1小时.求能够恢复体力的和的最大值. 定义DP[i][j][0]为前i个小时休息了j个小时,i小时 ... 
- 常规DP专题练习
		POJ2279 Mr. Young's Picture Permutations 题意 Language:Default Mr. Young's Picture Permutations Time L ... 
- $Poj2228$/洛谷$SP283\ Naptime$ 环形$DP$
		Luogu 一定要记得初始化为-inf!!! Description 在某个星球上,一天由N小时构成.我们称0-1点为第一个小时,1-2点为第二个小时,以此类推.在第i个小时睡觉能恢复Ui点体力.在这 ... 
- SP283 NAPTIME - Naptime
		SP283 NAPTIME - Naptime 题意: 在某个星球上,一天由N小时构成.我们称0-1点为第一个小时,1-2点为第二个小时,以此类推.在第i个小时睡觉能恢复Ui点体力.在这座星球上住着一 ... 
- poj 2228 Naptime(DP的后效性处理)
		\(Naptime\) \(solution:\) 这道题不做多讲,它和很多区间DP的套路一致,但是这一道题它不允许断环成链,会超时.但是我们发现如果这只奶牛跨夜休息那么它在不跨夜的二十四个小时里一定 ... 
- naptime
		naptime 有一个长度为n的序列\(a_i\),首尾相接组成了一个环,现在要在这个环上选出若干个区间,使区间长度之和恰好为b,然后忽略区间的顺时针开头元素,权值累加区间中所有的数字,问权值的最大值 ... 
- BZOJ1737 [Usaco2005 jan]Naptime 午睡时间
		断环然后裸DP就好了... $f[i][j][k]$表示1号时间段没有被算入答案,到了第$i$个时间段,一共选了$j$个时间段,$k = 0 /1$表示第i个时间段有没有被算进答案的最优值 $g[i] ... 
随机推荐
- 火狐浏览器访问网站出现 HTTP Error 400. The request is badly formed.错误,怎么解决
			今天在访问某个网站时,出现一个“HTTP Error 400. The request is badly formed.”错误, 那么应该如何解决呢? 1.问题描述: 用火狐浏览网站出现“”HTTP ... 
- laravel更新时区:
			config/app.php 'timezon'='UTC' 或 'timezone'='Asia/Shanghai' 
- javaweb web.xml版本
			web.xml版本的xsd分为如下几个版本 web-app_2_2.xsd web-app_2_3.xsd web-app_2_4.xsd web-app_2_5.xsd .... web-app_3 ... 
- ehlib 如何用代码,选中checkbox呢?
			TDBGridEh = class(TCustomDBGridEh) public property Col; property Row; property Canvas; // property G ... 
- haproxy配置示例
			1.最基础的的配置 下面的例子配置了一个监听在所有接口的80端口上HTTP proxy服务,它转发所有的请求至后端监听在127.0.0.1:8000上的"server". glob ... 
- MyEclipse CI 2018.8.0正式发布(附下载)
			MyEclipse线上特惠,在线立享专属折扣!火热开启中>> MyEclipse 2018最终版日前正式发布,新版本通过构建Eclipse Photo.支持Java 10和Java EE ... 
- Beta 冲刺(6/7)
			前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10129063.html 作业博客:https://edu.cnblogs.com/campus ... 
- API - jQuery之操作cookie(转)
			Installation Include script after the jQuery library (unless you are packaging scripts somehow else) ... 
- html input元素
			1.单选框复选框 html中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选.请看下面的例子: 语法:<input type= ... 
- UINavigationController详细(转)
			UINavigationController使用详解 有一阵子没有写随笔,感觉有点儿手生.一个多月以后终于又一次坐下来静下心写随笔,记录自己的学习笔记,也希望能够帮到大家. 废话少说回到正题,UINa ... 
