随笔分类 - 动态规划
摘要:题源:51nod 1007 题意:输入一串数字,将他们分成两组,求两组之和差距最小的数字。 背包问题,将数字当做物品的重量,容量是总和的一半 代码:
阅读全文
摘要:题源:51nod 1083 题意:给一个矩阵,只能从右边或者是从下走,求从左上角走到右下角的最大值。我第一次写用dp[i][j] += max(dp[i+1][j],dp[i][j+1]),一直wa难受,后面反应过来,改成了dp[i][j] += max(dp[i+1][j],dp[i][j]),果
阅读全文
摘要:题目:51node 1006 题意:找出公共子序列并输出,若有多个,输出一个就行 方法:先用一个二维数组dp[i][j]记录字符串 s1,s2长度分别为i和j时的最长公共子序列,在根据二维数组的值回溯; 代码:
阅读全文
摘要:题目来源:51node 1791 题意:找出合法子字符串的个数,先找出每个‘(’对应的‘)’位置,从后往前扫求和。 代码:
阅读全文
摘要:原题:poj-1458 分析:我用二维数组dp[i][j]储存长度分别为i和j的a、b两个字符串最大子字符串的数量。 代码:
阅读全文
摘要:题源:poj1163:http://poj.org/problem?id=1163 题意:该题的意思是给一个三角形,找出从三角形最顶上走到最低边的一条加权最大的路之和(只能一直往下走) 我的方法是从自底向上找,用一个数组存三角形最后一行的数,再一行一行往上找,找到最大的和更新数组的值,最后数组的第一
阅读全文

浙公网安备 33010602011771号