知识点
For Resting
不一样的生活,在于自己的想法
展开
-
dp 编辑距离问题
题意:编辑距离问题就是给两个字符串; 如: abcdef abbefc 通过增、删、改三种方式使第二个字符串变成第一个字符串; 显然此样例为 3 次改动; 题目求给定的字符串以后最少的改动次数;理解:一看这题其实已经蒙了; 当然有一种方法可以做,就是广搜; 但广搜在时间上是解决不了问题的; 所以得另谋出路; 正真的具体的解题思路如下: 首先: 我们向两个字符串添加一些下划线;原创 2016-05-13 17:16:18 · 717 阅读 · 0 评论 -
dp 最大矩阵和
题目:3 3 -1 3 -1 1 3 -1 1 -1 3求出最大矩阵的和;理解: 很明显,对于一个矩阵只会存在第 i 列和第 j 列之间; 那么我们枚举 i 列和 j 列之间的每一行的值; 之后通过求区间和最大,也就是最长字段和; 这样列举了每一个区间了;最长字段和,区间和最大: 这也是个dp; 但是这个很简单,看都看得出来; 如:1 -2 3 4 -2原创 2016-05-04 16:37:24 · 348 阅读 · 0 评论 -
个人对DP的理解——背包
经过一周的学习,在高师姐飞一般的速度指导下,我终于见识了DP的强大。 先讲背包: 01背包: 概念:有n个物品,重量为w[i],价值为v[i],要从这些物品里挑选出总重量不超过W的物品,求最大价值。 朴素的方法就是搜索,针对每个背包是否可以放和放与不放三种形态,这样时间复杂度是多少呢?,相当于求集合的子集吧,O(2^n),n太大就不行了。从《挑战程序原创 2015-08-16 15:04:31 · 296 阅读 · 0 评论 -
dp 最长公共子序列
题目: 给两个字符串, str1, str2; 打印出最长公共子序列; 如: abbbbv vbbbba 答案是: bbbb(答案不唯一)理解:以前学过一下,写的出来那种算长度的题目; 但这种求最终序列的题确实没做过; 然后就很傻的开了一个10的9次方的空间来做,发现直接爆了; 最后看了解题过程才过的;最长公共子序列: 根据推测可知: 如果str1[i] != str2[j]原创 2016-05-05 17:06:45 · 277 阅读 · 0 评论