http://www.cs.nctu.edu.tw/~huanpo/0519.ppt
- May 18 Tue 2010 19:45
2010/5/19 8th 程式教學
- Dec 25 Fri 2009 15:18
程式設計講義 - 12/25 Gaming Tree
講義
- Oct 09 Fri 2009 13:10
程式設計講義 - 10/9 KMP Algorithms
- Sep 06 Sun 2009 10:54
程式設計 - RMQ ST (轉貼)
来看一下ST算法是怎么实现的(以最大值为例):
首先是预处理,用一个DP解决。设a是要求区间最值的数列,f表示从第i个数起连续2^j个数 中的最大值。例如数列3 2 4 5 6 8 1 2 9 7 ,f[1,0]表示第1个数起,长度为2^0=1的最大值,其实就是3这个数。 f[1,2]=5,f[1,3]=8,f[2,0]=2,f[2,1]=4……从这里可以看出f其实就等于a。这样,Dp的状态、初值都已经有了,剩下的 就是状态转移方程。我们把f平均分成两段(因为f一定是偶数个数字),从i到i+2^(j-1)-1为一段,i+2^(j-1)到i+2^j-1为一段 (长度都为2^(j-1))。用上例说明,当i=1,j=3时就是3,2,4,5 和 6,8,1,2这两段。f就是这两段的最大值中的最大值。于是我们得到了动规方程F=max(F,F).
- Aug 28 Fri 2009 12:15
PKU - 3277 City Horizon
- Aug 25 Tue 2009 16:36
PKU - 2391 Ombrophobic Bovines
- Aug 24 Mon 2009 14:48
PKU - 1944 Fiber Communications
- Aug 21 Fri 2009 17:22
ACM 929 - Number Maze
- Aug 21 Fri 2009 13:50
PKU - 1948 Triangular Pastures
- Aug 08 Sat 2009 11:44
PKU - 3659 Cell Phone Network