2012年3月11日
摘要: HNOI 2008 玩具装箱toy 这是我做的第二个斜率优化+单调队列的dp了,做完这个题的感觉就是,如果一个dp可以用斜率优化的话,那么由动态转移方程就必须能推得下面的不等式: 设j<k且在更新i时k比j优,那么可以得到不等式f(i)>g(j,k),其中f(i)是关于i的单调递增函数。#include<stdio.h>#include<string.h>#define MAXD 50010int a[MAXD], q[MAXD], N, L;long long int f[MAXD], A[MAXD];void init(){ int i, j, k; A 阅读全文
posted @ 2012-03-11 22:43 Staginner 阅读(984) 评论(0) 推荐(0) 编辑
摘要: POJ_3709 这个是我第一次做斜率优化的题目,下面的题解没有涉及基本的思路,只是谈了一些自己的感悟。 个人感觉斜率优化+单调队列最重要的就是维护了一个队列,且对于队首连续的3个元素x,y,z(x<y<z),在任意时刻都不会出现x比y优同时z比x和y都优的情况,下面证明一下为什么有这个特性。 由于斜率优化+单调队列维护队尾的时候,对于队尾出连续的3个元素i,j,k(i<j<k),如果任意时刻j都不会比i和k更优,那么就会直接把y丢掉。所以,如果此时y在队列中,那么y就一定在某个时刻(也许这个时刻并不会是整数)比x和z更优。同时,过了这个时刻之后,y一定会比x优(这一点 阅读全文
posted @ 2012-03-11 18:56 Staginner 阅读(621) 评论(0) 推荐(0) 编辑