[DP] [2D2D优化] [二维树状数组] [SCOI2014] 方伯伯的玉米田

来源:互联网 发布:软件开发认证 编辑:程序博客网 时间:2024/05/18 20:47

题目传送门
这是WC2015教师测试的第三题,原题稍有改动……
先看这道题,貌似不会做……
考虑如果选择区间[l,r]进行拔高操作,对[r+1,n]的操作可能是需要的且不能是不合法的。
于是考虑DP,记dpi,j为前i株玉米进行j次操作所留下的最多玉米数。可以写出如下转移:

dpi,j=max{dpx,y}+1    (x<i,yj,ax+yai+j)

这就是O(n2k2)的了……超时过不去……
那么考虑优化转移,我去(貌似)是2D2D的。因为一直取最大值,我们可以用二维树状数组优化转移。
记最大株高为A,那么时间复杂度就是O(nklog2(A+k)log2k)
Code
那么WC2015那道题怎么改的?
先给出了p次操作区间再求值。那么如何对于这p次操作进行修改?
差分+树状数组即可。
这样修改就变成O(plog2n)的了……
其实改完还有一些坑爹点就不提了(比如n=106p=k或者k=0这样就直接做个LIS就好了……)
Code

阅读全文
0 0