题目大意两只青蛙朝不同方向条,每次都到达值相同的位置,不能重复到达自己到过的地方,且不能飞跃已到过的地方我们可以理解为这两只青蛙分别把整个序列遍历了一遍,依次走过所有的点,找到最多相同的点的个数,因为朝不同方向,且形成环,所以可以把数组扩大两倍,写两组一样的数组每次跳完得到的必然可以理解为是一个回文...
分类:
其他好文 时间:
2014-09-30 02:21:52
阅读次数:
202
A题给一个由a和b两种类型的字符组成的字符串,每次可以从中选取任意长度的回文子序列(不一定连续)并删除。问最少需要几次能将整个字符串为空。思路:如果本身是个回文串,那么只需要一次,否则需要两次(第一次选全部的a,第二次全部选b)。Accepted Code: 1 def is_palidrome(s...
分类:
其他好文 时间:
2014-08-31 22:38:21
阅读次数:
261
第三版《算法导论》动态规划新增题目之求最长回文子序列。只要能看到书中LCS代码,这个问题就能解决。...
分类:
其他好文 时间:
2014-08-09 18:48:28
阅读次数:
330
本题的题意理解之后,就是求最长回文子序列 longest palindrome subsequence,这里注意子序列和子串的区别。
有两种求法,一种是直接求,相当于填矩阵右上对角阵,另一种是转化为longest common subsequence的求法。
最大难点就是要求内存不能使用二维的。 故此第一种方法是有点难度的,因为需要把二维矩阵的对角线转化为一维表记录,对好下标就好了。
第二中...
分类:
其他好文 时间:
2014-08-02 23:32:34
阅读次数:
326
void LP(const string &str, int **c){ int m =
str.size(); for(int i=0; i<m; ++i) c[i][i] = 1; for(int d=1; d<m; ++d) {
// 自底向上 ...
分类:
其他好文 时间:
2014-06-13 17:32:10
阅读次数:
234