维护一段连续区间的极值并且快速取出 用双端队列维护单调的序列 下面来到例题目 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律。 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价为每股APi,第i天的股票卖出价为每股BPi( ...
分类:
其他好文 时间:
2019-10-06 00:13:54
阅读次数:
119
https://www.jianshu.com/p/0bf8d8f1e450 https://blog.csdn.net/qq_42754826/article/details/89052630 #include<cstdio>#define N 1000020using namespace std ...
分类:
其他好文 时间:
2019-10-05 22:16:55
阅读次数:
104
题目描述 约翰开车来到镇上,他要带K吨饲料回家。运送饲料是需要花钱的,如果他的车上有X吨饲料,每公里就要花费X^2元,开车D公里就需要D* X^2元。约翰可以从N家商店购买饲料,所有商店都在一个坐标轴上,第i家店的位置是Xi,饲料的售价为每吨Ci元,库存为Fi。 约翰从坐标X=O开始沿坐标轴正方向前 ...
分类:
其他好文 时间:
2019-09-21 19:00:06
阅读次数:
52
题意:有一个长度为n的01序列,你可以移动k次,每次将一个数移到任意一个位置,求经过操作后区间连续最大的连续0的个数。 “移动”操作看似情况很复杂,不好讨论,但其实无非就两种情况: 一、移动的是1:显然最优的策略是将1移动到最边上(相当于“移走”),目的是将两段连续的0合并。 二、移动的是0:最优策 ...
分类:
其他好文 时间:
2019-09-18 19:34:12
阅读次数:
101
https://www.acwing.com/problem/content/334/ 第一次写单调队列优化的dp,首先朴素的做法不难想到,就是复杂度 $O(n^3)$ ,然后考虑优化。 每天都从 $pre=max(0,i w 1)$ 天转移过来就刚刚好了。 考虑每个k是怎么更新j的。 买入股票: ...
【参考博客及视频】 1、大雪菜 2、背包九讲——全篇详细理解与代码实现 3、dd大牛的《背包九讲》 4、背包问题 (附单调队列优化多重背包 【题目】 1、Acwing 背包题目 2、01背包问题 Luogu 2925 干草出售Luogu 1616 疯狂的采药HDU 3466 Proud Mercha ...
分类:
其他好文 时间:
2019-09-07 11:10:34
阅读次数:
116
修筑绿化带题解 我的做法实际上神奇且麻烦,大家其实可以看一下别人的做法。 这是一个单调队列优化DP题(~~废话~~)。 我的大概做法是:将每个c乘d的矩形化成一个点,将从a乘b的矩形中选一个c乘d的矩形转化为:在(a c+1) (b d+1)的矩形中选一个值最小的点。 具体做法如下: 1.求出二维前 ...
分类:
其他好文 时间:
2019-09-06 22:45:58
阅读次数:
82
分析 多重背包优化,输出方案 二进制优化 / 单调队列优化 输出方案只需要记录是否转移,用bool类型存 这题好像卡空间 代码 1.二进制优化 1 /************************ 2 User:Mandy.H.Y 3 Language:c++ 4 Problem:luogu 5 ...
分类:
其他好文 时间:
2019-08-30 22:29:28
阅读次数:
72
http://poj.org/problem?id=1821 题意:给长度为n的木板,k个工人,每个工人要么不粉刷,或者选择一个包含木板si,长度不超过li的连续的一段木板粉刷,每粉刷一块得到pi的报酬,问如何安排工人使得总报酬最大? 思路:可以按si给工人排序,这样我们就可以按照顺序依次安排工人。 ...
分类:
其他好文 时间:
2019-08-25 20:10:07
阅读次数:
120
标签(空格分隔): dp 单调队列优化 题目描述 有N块木板从左到右排成一行,有M个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。 第 i 个木匠要么不粉刷,要么粉刷包含木板 $S_i$ 的,长度不超过 $ L_i $ 的连续的一段木板,每粉刷一块可以得到 $ P_i $ 的报酬。 不同工匠的$S ...