LCS转LIS的优化
有这样一类LCS问题:它们看上去和传统LCS没有什么不同,但是多了一些奇奇怪怪条件,看上去毫无卵用,但是数据范围却上了一个台阶。
LCS我们除了可以用滚动数组压缩空间外,还有一种转化方法,可以参考这里二楼的回答:最长公共子序列是否存在低于 O(n^2) 的算法? 我觉得写得还是不错的。
所以这个优化就有一个关键:在A串中的元素,在B中到底能配几个?
显然,如果这个数字是个较小的数,那么我们的优化就是可行的。
这里给一个AHOI的例子:http://www.cnblogs.com/Krew/p/5361594.html

浙公网安备 33010602011771号