[题目链接]

https://www.lydsy.com/JudgeOnline/problem.php?id=1855

[算法]

单调队列优化动态规划

[代码]

#include<bits/stdc++.h>
using namespace std;
#define MAXT 2010 struct info
{
int pos,val;
} ; int i,j,ans,T,MaxP,W;
deque< info > q;
int AP[MAXT],BP[MAXT],AS[MAXT],BS[MAXT];
int f[MAXT][MAXT]; int main()
{ scanf("%d%d%d",&T,&MaxP,&W);
for (i = ; i <= T; i++) scanf("%d%d%d%d",&AP[i],&BP[i],&AS[i],&BS[i]);
memset(f,,sizeof(f));
for (i = ; i <= T; i++) f[i][] = ;
for (i = ; i <= T; i++)
{
for (j = ; j <= AS[i]; j++) f[i][j] = max(f[i][j],- * AP[i] * j);
for (j = ; j <= MaxP; j++) f[i][j] = max(f[i][j],f[i - ][j]);
if (i - W - >= )
{
q.clear();
for (j = ; j <= MaxP; j++)
{
while (!q.empty() && q.front().pos < j - AS[i]) q.pop_front();
while (!q.empty() && f[i - W - ][j] + j * AP[i] >= q.back().val) q.pop_back();
q.push_back((info){j,f[i - W - ][j] + j * AP[i]});
f[i][j] = max(f[i][j],q.front().val - j * AP[i]);
}
q.clear();
for (j = MaxP; j >= ; j--)
{
while (!q.empty() && q.front().pos > j + BS[i]) q.pop_front();
while (!q.empty() && f[i - W - ][j] + j * BP[i] >= q.back().val) q.pop_back();
q.push_back((info){j,f[i - W - ][j] + j * BP[i]});
f[i][j] = max(f[i][j],q.front().val - j * BP[i]);
}
}
}
for (i = ; i <= MaxP; i++) ans = max(ans,f[T][i]);
printf("%d\n",ans); return ; }

[SCOI 2010] 股票交易的更多相关文章

  1. SCOI 2010 连续攻击游戏(贪心,图论)

    SCOI 2010 连续攻击游戏 solution 直接就硬刚 我愿称贪心为暴力 因为题目中要求一定从小到大贪心,那么当前点的下标有能够选取的较大点,那么它一定可以和前面的一个较小点连接,所以可以直接 ...

  2. 【SCOI 2010】股票交易

    题目 最近 \(\text{lxhgww}\) 又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,\(\text{lxhgww}\) 预测到了未来 \(T ...

  3. 【BZOJ 1857】【SCOI 2010】传送带

    三分套三分,虽然简单,但是也得掌握,,, 时间复杂度$O(log_{1.5}^2 n)$ 一开始WA好几次发现是快速读入里没有return,这样也能过样例?_(:3J∠)_ #include<c ...

  4. SCOI 2010 序列操作

    题目描述 lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b ...

  5. [SCOI 2010]传送带

    Description 题库链接 在一个 \(2\) 维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段 \(AB\) 和线段 \(CD\) .在 \(AB\) 上的移动速度为 ...

  6. [SCOI 2010]字符串

    Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgw ...

  7. 解题:SCOI 2010 序列操作

    题面 线段树......模板题(雾? 然而两种标记会互相影响,必须保证每次只放一个(不然就不知道怎么放了),具体的影响就是: 翻转标记会使得覆盖标记一起翻转,下放的时候就是各种swap 覆盖标记会抹掉 ...

  8. Scoi 2010 幸运数字

    [题目描述]在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是“幸运号码”!但是这种“幸 ...

  9. 【SCOI 2010】传送带

    为了方便,我们不妨设$\rm P \lt Q,R$ 我们发现,有$\rm E$点在$\rm AB$上,$\rm F$点在$\rm CD$上,最优解一定是$\rm AE\rightarrow EF\ri ...

随机推荐

  1. javascript执行环境及作用域

    执行环境(execution context,为简单起见,有时也成为“环境”)是javascript中最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境 ...

  2. poj1101 the game 广搜

    题目大意: 类似于连连看,问从起点到终点最少需要几条线段. 规则: 1.允许出界. 2.空格的地方才能走. 分析: 题目做下来发现没有卡时间,所以主要还是靠思路.也就是说不用考虑离线算法.直接以每个起 ...

  3. 获取XML里指定的节点内容信息

    HttpContent bw = new StringContent(StrXml, Encoding.UTF8, "application/Xml"); var Msg = aw ...

  4. 【sqli-labs】 less40 GET -Blind based -String -Stacked(GET型基于盲注的堆叠查询字符型注入)

    提交,页面正常,说明是')闭合的 http://192.168.136.128/sqli-labs-master/Less-40/?id=1')%23 http://192.168.136.128/s ...

  5. Linux 重要文件目录

    文件系统层次化标准(Filesystem Hierarchy Standard)[FHS] 树形结构 /boot 开机所需文件——内核开机菜单以及所需的配置文件等 /dev 以文件形式存放任何设备与接 ...

  6. react新版本生命周期

    给componentWillMount componentWillReceiveProps componentWillUpdate生命周期加上UNSAFE_前缀,表明其不安全性,并将在未来版本将其移除 ...

  7. struts 2 action result类型

    最近在管理公司老项目的时候发现如下代码: <bean name="detailPlayer" class="PlayAction" method=&quo ...

  8. C#第十二节课

    数组 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Th ...

  9. 使用正则表达式爬取500px上的图片

    网址:https://500px.com/seanarcher,seanarcher是一个up主的名字 打开这个网址,会发现有好多图片,具体到每一个图片的url地址 https://500px.com ...

  10. 深入C++的运算符重载

    对于简单的运算符,可以参考之前的博文.之后会有一篇关于从等号运算符重载的角度研究深浅拷贝的博文.这里是讲:逗号,取成员运算符,输入输出运算符,下标运算符,括号,new和delete的重载. 逗号运算符 ...