摘要: 题意:题目很难懂,题意很简单,求最长递增子序列LIS。分析:本题的最大数据40000,多个case。用基础的O(N^2)动态规划求解是超时,采用O(n*log2n)的二分查找加速的改进型DP后AC了。在基础的动态规划解法中,由于动态规划的无后效性(对于每个阶段来说,它以前的各阶段状态无法直接影响它未... 阅读全文
posted @ 2014-02-28 15:54 InkGenius 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 比较字符串之间的相似度有很多的方法,实际上也确实已经出现了很多相似度的定义。最简单的一种,就是一个字符串是另外一个字符串的字串,那么可以说它们是相似的。常见的题型就是求字串,这种用S1.contain(String S2)就可以判断。很多时候S1和S2都不是对方的字串,我们还可以这样来定义相似性:如... 阅读全文
posted @ 2014-02-28 11:35 InkGenius 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 题意:把一个字符串通过增、删、改三种操作变成另外一个字符串,求最少的操作数。分析:可以用LCS求出最大公共子序列,再把两个串中更长的那一串中不是公共子序列的部分删除。分析可知两个字符串的距离肯定不会超过它们的长度之和,因为我们可以通过删除操作把两个串化为空串。如果两个字符串的第一个元素相同,则求A[... 阅读全文
posted @ 2014-02-28 11:04 InkGenius 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 以Poj 3356为例子,比较下面两种写法的差别:import java.util.Scanner;public class Main { //数组初始分配 static int[][] dp=new int[1001][1001]; public static int count(String... 阅读全文
posted @ 2014-02-28 10:34 InkGenius 阅读(222) 评论(0) 推荐(0) 编辑