bzoj1855: [Scoi2010]股票交易
Description
Input
Output
Sample Input
2 1 1 1
2 1 1 1
3 2 1 1
4 3 1 1
5 4 1 1
Sample Output
HINT
对于30%的数据,0 < =W 对于50%的数据,0 < =W 对于100%的数据,0 < =W
对于所有的数据,1 < =BPi < =APi < =1000,1 < =ASi,BSi < =MaxP
#include<cstdio>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
char ch;
bool ok;
void read(int &x){
for (ok=,ch=getchar();!isdigit(ch);ch=getchar()) if (ch=='-') ok=;
for (x=;isdigit(ch);x=x*+ch-'',ch=getchar());
if (ok) x=-x;
}
const int maxn=;
const int maxm=;
int n,m,w,ap[maxn],bp[maxn],as[maxn],bs[maxn],f[maxn][maxm],ans,head,tail;
struct Data{
int val,id;
}que[maxn],tmp;
int main(){
read(n),read(m),read(w);
for (int i=;i<=n;i++) read(ap[i]),read(bp[i]),read(as[i]),read(bs[i]);
memset(f,,sizeof(f));
f[][]=;
for (int i=;i<=n;i++){
for (int j=;j<=m;j++) f[i][j]=f[i-][j];
int x=max(i-w-,);
head=,tail=;
for (int j=;j<=m;j++){
while (head<=tail&&que[head].id<max(j-as[i],)) head++;
tmp=(Data){f[x][j]+ap[i]*j,j};
while (head<=tail&&que[tail].val<=tmp.val) tail--;
que[++tail]=tmp;
f[i][j]=max(f[i][j],que[head].val-ap[i]*j);
}
head=,tail=;
for (int j=;j<bs[i];j++){
if (j>m) break;
tmp=(Data){f[x][j]+bp[i]*j,j};
while (head<=tail&&que[tail].val<=tmp.val) tail--;
que[++tail]=tmp;
}
for (int j=;j<=m;j++){
while (head<=tail&&que[head].id<j) head++;
if (j+bs[i]<=m){
tmp=(Data){f[x][j+bs[i]]+bp[i]*(j+bs[i]),j+bs[i]};
while (head<=tail&&que[tail].val<=tmp.val) tail--;
que[++tail]=tmp;
}
f[i][j]=max(f[i][j],que[head].val-bp[i]*j);
}
}
for (int i=;i<=m;i++) ans=max(ans,f[n][i]);
printf("%d\n",ans);
return ;
}
bzoj1855: [Scoi2010]股票交易的更多相关文章
- [bzoj1855][Scoi2010]股票交易_动态规划_单调队列
股票交易 bzoj-1855 Scoi-2010 题目大意:说不明白题意系列++...题目链接 注释:略. 想法:这个题还是挺难的. 动态规划没跑了 状态:dp[i][j]表示第i天手里有j个股票的最 ...
- BZOJ1855 [Scoi2010]股票交易 【单调队列优化dp】
题目链接 BZOJ1855 题解 设\(f[i][j]\)表示第\(i\)天结束时拥有\(j\)张股票时的最大收益 若\(i \le W\),显然在这之前不可能有交易 \[f[i][j] = max\ ...
- bzoj1855: [Scoi2010]股票交易--单调队列优化DP
单调队列优化DP的模板题 不难列出DP方程: 对于买入的情况 由于dp[i][j]=max{dp[i-w-1][k]+k*Ap[i]-j*Ap[i]} AP[i]*j是固定的,在队列中维护dp[i-w ...
- 2018.09.10 bzoj1855: [Scoi2010]股票交易(单调队列优化dp)
传送门 单调队列优化dp好题. 有一个很明显的状态设置是f[i][j]表示前i天完剩下了j分股票的最优值. 显然f[i][j]可以从f[i-w-1][k]转移过来. 方程很好推啊. 对于j<kj ...
- bzoj1855: [Scoi2010]股票交易 单调队列优化dp ||HDU 3401
这道题就是典型的单调队列优化dp了 很明显状态转移的方式有三种 1.前一天不买不卖: dp[i][j]=max(dp[i-1][j],dp[i][j]) 2.前i-W-1天买进一些股: dp[i][j ...
- BZOJ1855 [Scoi2010]股票交易[单调队列dp]
题 题面有点复杂,不概括了. 后面的状态有前面的最优解获得大致方向是dp.先是瞎想了个$f[i][j]$表示第$i$天手里有$j$张股票时最大收入(当天无所谓买不买). 然后写了一个$O(n^4)$状 ...
- 洛谷P2569 (BZOJ1855)[SCOI2010]股票交易 【单调队列优化DP】
Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价 ...
- 【BZOJ1855】[Scoi2010]股票交易 DP+单调队列
[BZOJ1855][Scoi2010]股票交易 Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预 ...
- 【BZOJ1855】股票交易(动态规划,单调队列)
[BZOJ1855]股票交易(动态规划,单调队列) 题面 BZOJ 题解 很显然,状态之和天数以及当天剩余的股票数有关 设\(f[i][j]\)表示第\(i\)天进行了交易,剩余股票数为\(j\)的最 ...
随机推荐
- div样式调整小结 转载
1.多个div使用会自动换行,应该使用float属性 left : 对象浮在左边 right : 对象浮在右边 例如: float: left 和 float: right 是两个div左右排 ...
- HIBERNATE 01
2017年1月8日 {LJ?Dragon}[标题]Hibernate基础知识简介_01 {LJ?Dragon}[Links]Hibernate注解详解 {LJ?Dragon}[Daily]特种部队2, ...
- Hibernate输出SQL语句以便调试
配置方法:1.打开hibernate.cfg.xml文件编辑界面,在Properties窗口处,点击Add按钮,选择Show_SQL参数,输入值为True. *另外,如果按照同样的步骤,分别加入以下参 ...
- jsp页面写入中文到mysql时出现了乱码(转)
今天自己在用jsp把中文写入mysql的时候出现乱码,从数据库中读取出来的时候也显示为“??”,感觉应该出现了编码转换过程中的字符信息丢失.然后在mysql中直接执行该命令,发现中文是正常的,所有认为 ...
- Android Canvas drawText实现中文垂直居中
目标: 把中文字符绘制到目标矩形的居中位置. 问题: Android的Canvas绘图,drawText里的origin是以baseline为基准的,直接以目标矩形的bottom传进drawText, ...
- 再回首,Java温故知新(一):Java概述
Java发展历程 Java的发展要追溯到1991年,Patrick Naughton(帕特里克·诺顿)和James Gosling(詹姆斯·高斯林)带领Sun公司的工程师打算为有线电视转换盒之类的消费 ...
- noip 2003 传染病控制(历史遗留问题2333)
/*codevs 1091 搜索 几个月之前写的70分 今天又写了一遍 并且找到了错误 */ #include<cstdio> #include<vector> #define ...
- STM32串口通信USART1转USART2问题解决
使用的是STM32f103ZET6. 1.把文件main.c和usart.c中的所有usart1换成usart2 2.查看手册得知USART2的引脚是Tx->PA2,Rx->PA3,改变u ...
- Android Parcelable Trans byte[]
思路: http://stackoverflow.com/questions/10898116/make-custom-parcelable-containing-byte-array 谢谢, 这位外 ...
- Eclipse从数据库逆向生成Hibernate带注解的实体类
http://www.2cto.com/database/201501/372023.html