luogu2569 [SCOI2010]股票交易
题解看这里
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int t, maxp, w, dp[2005][2005], qaq[2005], haq, taq, ap, bp, as, bs, ans;
int main(){
    cin>>t>>maxp>>w;
    memset(dp, 128, sizeof(dp));
    for(int i=1; i<=t; i++){
        scanf("%d %d %d %d", &ap, &bp, &as, &bs);
        for(int j=0; j<=as; j++)
            dp[i][j] = -1 * j * ap;
        for(int j=0; j<=maxp; j++)
            dp[i][j] = max(dp[i][j], dp[i-1][j]);
        if(i<=w)	continue;
        haq = 1; taq = 0;
        for(int j=0; j<=maxp; j++){
            while(haq<=taq && qaq[haq]<j-as)	haq++;
            while(haq<=taq && dp[i-w-1][qaq[taq]]+qaq[taq]*ap<=dp[i-w-1][j]+j*ap)	taq--;
            qaq[++taq] = j;
            if(haq<=taq)	dp[i][j] = max(dp[i][j], dp[i-w-1][qaq[haq]] + qaq[haq] * ap - j * ap);
        }
        haq = 1; taq = 0;
        for(int j=maxp; j>=0; j--){
            while(haq<=taq && qaq[haq]>j+bs)	haq++;
            while(haq<=taq && dp[i-w-1][qaq[taq]]+qaq[taq]*bp<=dp[i-w-1][j]+j*bp)	taq--;
            qaq[++taq] = j;
            if(haq<=taq)	dp[i][j] = max(dp[i][j], dp[i-w-1][qaq[haq]] + qaq[haq] * bp - j * bp);
        }
    }
    for(int i=0; i<=maxp; i++)
        ans = max(ans, dp[t][i]);
    cout<<ans<<endl;
    return 0;
}
												
											luogu2569 [SCOI2010]股票交易的更多相关文章
- 1855: [Scoi2010]股票交易[单调队列优化DP]
		
1855: [Scoi2010]股票交易 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1083 Solved: 519[Submit][Status] ...
 - 【BZOJ1855】[Scoi2010]股票交易 DP+单调队列
		
[BZOJ1855][Scoi2010]股票交易 Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预 ...
 - 洛谷P2569 [SCOI2010]股票交易
		
P2569 [SCOI2010]股票交易 题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股 ...
 - BZOJ 1855: [Scoi2010]股票交易(DP+单调队列)
		
1855: [Scoi2010]股票交易 Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未 ...
 - [luogu] P2569 [SCOI2010]股票交易 (单调队列优化)
		
P2569 [SCOI2010]股票交易 题目描述 最近 \(\text{lxhgww}\) 又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,\(\te ...
 - 单调队列优化DP || [SCOI2010]股票交易 || BZOJ 1855 || Luogu P2569
		
题面:P2569 [SCOI2010]股票交易 题解: F[i][j]表示前i天,目前手中有j股的最大收入Case 1:第i天是第一次购买股票F[i][j]=-j*AP[i]; (1<=j< ...
 - [SCOI2010]股票交易(单调队列优化dp)
		
[SCOI2010]股票交易 题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第 ...
 - [bzoj1855][Scoi2010]股票交易_动态规划_单调队列
		
股票交易 bzoj-1855 Scoi-2010 题目大意:说不明白题意系列++...题目链接 注释:略. 想法:这个题还是挺难的. 动态规划没跑了 状态:dp[i][j]表示第i天手里有j个股票的最 ...
 - [SCOI2010]股票交易
		
题目大意: 网址:https://www.luogu.org/problemnew/show/P2569 大意:在接下来的T天中,每天股票有一个买入价格Api与卖出价格Bpi. 同时,每天买入股票数与 ...
 
随机推荐
- QQ免费企业邮箱申请配置
			
对于小企业来说,免费的企业邮箱是不错的选择,省去服务器费用和人员维护费用.在这里说一下,qq的免费企业邮箱.如果想搭建自己的企业邮局,请参考:centos extmail postfix nginx ...
 - qq登录,新浪微博登录 ,接口开发
			
给linux命令在线中文手册加了,qq登录和新浪微博登录,认证用的是auth2.0,并且用了js api和php api相结合的方式来做的.个人觉得这种方式,兼顾安全和人性化.以前写过一篇关于申请的博 ...
 - 再看SpringMVC通过一个DispatcherServlet处理Servlet
			
初始入口: org.springframework.web.context.ContextLoaderListener org.springframework.web.context.ContextL ...
 - Mongo学习
			
几种可能存在的实体类型 public class AAA{ public List<Common> CommonList{get;set;} } public class BBB{ pub ...
 - 定时任务-Timer
			
Timer类的全限定名 java.util.Timer java.util.Timer类的构造函数 public Timer(); public Timer(boolean isDaemon); pu ...
 - mongodb 文本索引
			
启用文本搜索: 最初文本搜索是一个实验性功能,但2.6版本开始,配置是默认启用的.但是,如果使用的是以前 MongoDB 的版本,那么必须启用文本搜索,使用下面的代码: >db.adminCom ...
 - Sql 行转换为列  以及列转换为行的心得
			
这是 创建数据库的脚本文件 CREATE TABLE [dbo].[stu]( [学号] [nvarchar](255) NOT NULL, [姓名] [nvarchar](255) NULL, [性 ...
 - Resize a UIImage the right way
			
When deadlines loom, even skilled and experienced programmers can get a little sloppy. The pressure ...
 - charles连接手机抓包--------最详细的步骤
			
首先确保电脑和手机连接到同一个热点上 电脑连接热点以后,首先打开Charles设置Charles的setting port一般都默认8888 Enable transparent HTTP proxy ...
 - shell脚本,awk常见初始化变量的题目。
			
文件 内容如下 clone=line1gb=line1gi=line1lib=line1gb=line2gi=line2lib=line2clone=line3gb=line3gi=line3lib= ...