2013年3月25日

摘要: 计算两个字符串的最长公共子序列(LCS),且公共子序列在字符串中不需要是连续的。计算两个字符串的距离,完全相同的字符串距离为0,可以通过修改一个字符、增加一个字符或删除一个字符三种方式来使两个字符串相同,但这些方式会使得距离加1。1、思路: 详见http://zhedahht.blog.163.com/ 1 int LCS(const char* str1, const char* str2) 2 { 3 int i, j; 4 int len1 = strlen(str1); 5 int len2 = strlen(str2); 6 int **dp = n... 阅读全文
posted @ 2013-03-25 20:50 月moon鸟 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 有N件物品和一个重量为M的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使价值总和最大。有一个无序、元素个数为2n的正整数数组,要求:如何能把这个数组分割为两个子数组,子数组的元素个数不限,并使两个子数组之和最接近。有一个无序、元素个数为2n的正整数数组,要求:如何能把这个数组分割为元素个数为n的两个数组,并使两个子数组之和最接近。有两个数组a,b,大小都为n,数组元素的值任意整形数,无序,要求:通过交换a,b中的元素,使[数组a元素的和]与[数组b元素的和]之间的差最小。1、思路: f(i,j)表示前i个物品取任意个放入容量为j的背包中的最大价值。f(i,j)=. 阅读全文
posted @ 2013-03-25 20:42 月moon鸟 阅读(502) 评论(0) 推荐(0) 编辑

导航