摘要:
题目Leetcode Palindrom CutLeetcode PalindromBrackets Sequence矩阵链乘法 阅读全文
摘要:
题目Leetcode Edit DistanceLeetcode Interleaving StringLeetcode Distinct Subsequence思路1. 共性: 基于最后一位是否相同来决定递归函数的走向2. 第一题. dp[i][j] 表示 str1[0...i], str2[0...j] 之间的距离 dp[i][j] = dp[i-1][j-1] if str1[i] == str2[j] dp[i][j] = min(dp[i-1][j], dp[i-1][j-1], dp[i][j-1]) else3. 第二题. dp[i][j] 表示 str1[0...i] 能否.. 阅读全文
摘要:
题目POJ Help JimmyFloydWarshall 算法 阅读全文
摘要:
题目POJ Balance九度 出入栈POJ Communication SystemFind the multiple思路1. 共性: dp[i][j] 中第二个变量 j 并不明确.2.第一题. dp[i][j] 表示放入第 i 个秤砣后平衡系数为 j 的方案数j 的范围位置, 因此使用 PUSH 更好dp[i][j+weight[i]*dist] += dp[i][v]3. 第二题 出入栈dp[i][j] 表示前 i 个操作序列中入栈操作个数为 j 的方案数dp[i][j] = dp[i-1][j] + dp[i-1][j-1] 枚举最后一位是入栈还是出栈4. 第三题 交流系统. dp[i 阅读全文
摘要:
题目POJ Post Office九度 买卖股票九度 项目安排POJ Lazy WorkerLeetcode Word Break九度 座位问题思路1. 第一二道题是二维DP, 第三四道题是一维DP, 但是大体上来看, 思路是相同的2. 四道题的公共特征是: i 是物品, j 是数量, dp[i][j] 可以是方案数, 也可以是最值; 当最外层循环到 i 时, 需要做出选择, 不同的选择代价不同; 都有枚举的过程; j 是比较明显的可以枚举的量, 题目往往会给 j 设置个上限3. 第一道题, dp[i][j] 表示前 i 个村子放 j 个邮局的最小距离. dp[i][j] = min(dp[k 阅读全文