BZOJ 2442 [Usaco2011 Open]修剪草坪
来源:互联网 发布:淘宝店家旺旺号是什么 编辑:程序博客网 时间:2024/04/28 05:34
Description
在一年前赢得了小镇的最佳草坪比赛后,FJ变得很懒,再也没有修剪过草坪。现在,
新一轮的最佳草坪比赛又开始了,FJ希望能够再次夺冠。
然而,FJ的草坪非常脏乱,因此,FJ只能够让他的奶牛来完成这项工作。FJ有N
(1 <= N <= 100,000)只排成一排的奶牛,编号为1…N。每只奶牛的效率是不同的,
奶牛i的效率为E_i(0 <= E_i <= 1,000,000,000)。
靠近的奶牛们很熟悉,因此,如果FJ安排超过K只连续的奶牛,那么,这些奶牛就会罢工
去开派对:)。因此,现在FJ需要你的帮助,计算FJ可以得到的最大效率,并且该方案中
没有连续的超过K只奶牛。
【题目分析】
单调队列优化DP
【代码】
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int n,k;long long ans=0;long long dp[100001];long long e[100001];int que[100001];int hd=1,tl=0;int main(){ scanf("%d%d",&n,&k); for (int i=1;i<=n;++i) { scanf("%lld",&e[i]); e[i]+=e[i-1]; } que[++tl]=0; for (int i=1;i<=n+1;++i) { while (hd<tl&&i-que[hd]>k+1) hd++; dp[i]=max(dp[i],dp[que[hd]]+e[i-1]-e[que[hd]]); ans=max(ans,dp[i]); while (hd<=tl&&dp[que[tl]]-e[que[tl]]<=dp[i]-e[i]) tl--; que[++tl]=i; } printf("%lld\n",ans);}
0 0
- BZOJ 2442: [Usaco2011 Open]修剪草坪
- bzoj 2442: [Usaco2011 Open]修剪草坪
- bzoj 2442 [Usaco2011 Open]修剪草坪
- BZOJ 2442 [Usaco2011 Open]修剪草坪
- BZOJ 2442 [Usaco2011 Open] 修剪草坪
- 2442: [Usaco2011 Open]修剪草坪
- 2442: [Usaco2011 Open]修剪草坪
- BZOJ 2442: [Usaco2011 Open]修剪草坪|动态规划
- bzoj 2442: [Usaco2011 Open]修剪草坪 单调队列优化dp
- [BZOJ 2442][Usaco2011 Open]修剪草坪:单调队列
- BZOJ 2442 [Usaco2011 Open]修剪草坪 DP+单调队列优化
- 【BZOJ2442】【Usaco2011 Open】修剪草坪
- BZOJ2442: [Usaco2011 Open]修剪草坪
- 2442: [Usaco2011 Open]修剪草坪 单调队列优化DP
- 【动态规划】[USACO2011 OPEN]修剪草坪
- BZOJ_P2442 [Usaco2011 Open]修剪草坪(单调队列)
- bzoj2442: [Usaco2011 Open]修剪草坪(单调队列优化dp)
- 【bzoj2442】【Usaco2011 Open】修剪草坪【dp+单调队列】
- SQL 左外连接,右外连接,全连接,内连接
- swift中UIImagePickerController的使用(相册、图库)
- log4j日志详解
- Python爬虫“Hello World”级入门实例,使用正则表达式从中国天气网抓取数据
- 【USACO08JAN】洛谷1948 Telephone Lines
- BZOJ 2442 [Usaco2011 Open]修剪草坪
- Android6.0动态权限申请步骤以及需要注意的一些坑
- 经典面试题
- char(10)、varchar2(10)、nvarchar2(10) 区别
- mysql无法添加外键约束(cannot add foreign key constraint)
- 服务短息发送
- Java 集合深入理解(9):Queue 队列
- 页面中显示的可改变的文字标签
- POJ 3683Priest John's Busiest Day 2-sat输出任意一组解