2011年8月7日
摘要: 实现过程及原理:首先是预处理用DP解决。设a[i]是要求区间最值的数列,f[i][j]表示从第i个数起连续2^j个数的最大值。例如数列3 2 4 5 6 8 1 2 9 7 ,f[1][0]表示从第一个数起,长度为2^0个数的最大值,其实就是第一个元素3本身。f[1][2]=5,f[1][3]=8…….从这里可以看出f[i][0]实际就是a[i]。这样dP的初始值就有了,剩下的就是状态转移方程。我们把f[i][j]平均分成两段(因为f[i][j]的值一定是个偶数0),从i到i+2^(j-1)-1为一段,i+2^(j-1)到i+2^j-1为一段。用上例说明,当i=1,j=3时就是3 2 4 5和 阅读全文
posted @ 2011-08-07 14:23 猿类的进化史 阅读(234) 评论(0) 推荐(0)