单调队列
文章平均质量分 83
ophunter
不会DP!
展开
-
poj2823Sliding Window(单调队列入门)
->题目请戳这里 题目大意:给n个数字,求长度为k的数字串中最大最小值。 题目分析:用2个单调队列分别维护最大值和最小值。单调队列入门题,废话不多说。详情请见代码: #include #include using namespace std; const int N = 1000005; int lcm[N]; int mx[N],mn[N]; int mxnum,mnnum; int原创 2013-05-16 23:08:42 · 805 阅读 · 0 评论 -
hdu3415Max Sum of Max-K-sub-sequence(单调队列)
->题目请戳这里 题目大意:给n个数,这n个数首尾相连。求一个长度为不超过k的连续子序列最大和。并求出起始和终止位置。 题目分析:求某段连续区间和的最大值,单调队列解决。具体做法是:先求出sum[1]到sum[n],我们考虑第i个数,用一个单调队列维护sum[i - k]到sum[i - 1]的最小值,设这个最小值是sum[j],那么sum[i] - sum[j]就是j到i的这个区间的最大连续原创 2013-05-16 23:03:45 · 1033 阅读 · 0 评论 -
hdu4122Alice's mooncake shop(单调队列 | 线段树)
题目请戳这里 题目大意:一个月饼店开m个小时(24小时营业),只在整点做月饼,做月饼的能力非常强。现在只需要考虑成本的问题。给m个cost值,cost[i]表示第i个小时做1个月饼的代价。 再给n个时间,从2000年1月1日0时开始计算。表示订单的截止时间。当然为了节约成本,可以提前趁成本不高的时候做月饼。但是月饼有保质期,t天,月饼放冰箱保存也需要代价,一天花费s。现在求完成n个订单最小代价原创 2013-09-25 13:02:09 · 1099 阅读 · 0 评论