出这个string中最长的回文序列,比如给character,找出carac。
下面主要介绍一下,我们老师发明的那个方法,穷尽搜索加减枝~还是exhaust search with pruning好听 O(∩_∩)O~
这个方法的主要思想也就是首先通过构造一棵树,使得树的叶子节点成为一个可能的最终的解,换句话说也就是最后的答案一定蕴育在树的最下面一层的某个叶子节点中。很显然,一般情况下这个树还是比较好构造的,毕竟不用考虑什么条件,就是一个exhaust 展开的过程,但是随着这个树的展开,分枝越来越多,这样肯定是不make sense的,所以需要找到一些pruning rules,来修剪这棵树。其实说了半天,肯定也比较模糊,还是先看个例子吧,我觉得看完例子,在看这段话肯定比较有感觉。
例 最长递增字串
问题描述:http://en.wikipedia.org/wiki/Longest_increasing_subsequence_problem (其实显而易见)
假设我的一串input是 X1,X2,X3,。。。,Xn,按下图构造我们的树(enumeration tree)。

如何构造这棵树通