初学DP,用贪心的思想想解题,可是想了一个多小时还是想不出。//在max中的两个参数f[k], 和f[k-weight[i]]+value[i]都是表示在背包容量为k时的最大价值 //f[k]是这个意思,就不用说了。 //而f[k-weight[i]]+value[i]也表示背包容量为k时的...
分类:
其他好文 时间:
2014-07-22 00:32:34
阅读次数:
165
DP不仅广泛用于各种最优化问题,也常常用于排列组合的个数、概率期望计算等等,因为这些问题往往具有很好的“ 重叠子问题”特性,这些问题往往都起源于排列组合中的组合公式A(n, k) = A(n-1, k) + A(n-1, k-1)
例一:求解划分数
有n个无差别的物品,将他们划分成不超过m组,求划分方法数除以M的余数。
分析:dp[i][j]j的i划分的总数
dp[i][j] = ...
分类:
其他好文 时间:
2014-07-21 15:48:06
阅读次数:
268
本节,我们将对leetcode上有关DP问题的题目做一个汇总和分析。
1.题目来源
Interleaving String
动态规划 二叉树
Unique Binary Search Trees 动态规划
二叉树
Word Break 动态规划
N/A
Word Break II 动态规划
N/A
Palindrome Partitioning 动态规划
N/A
...
分类:
其他好文 时间:
2014-07-21 15:47:05
阅读次数:
232
在第三节中,我们将讨论序列化问题中的动态规划解法。这部分多半分为单序列和双序列等问题
例一:最长上升子序列。
最长上升子序列问题,有一个正整数数列,长度n在1000之内,元素a[i]在10^5之内,求最长递增子序列的长度。
分析一:发现问题的可分性质
如果我们采用穷举法,将有2^n的时间复杂度;这里面有很多是重复的4、3、***类型的子序列,以4开头的递增子序列的长度都是1....
分类:
其他好文 时间:
2014-07-21 15:34:06
阅读次数:
207
本节,我们将对leetcode上有关DP问题的题目做一个汇总和分析。
1.题目来源
Interleaving String
动态规划 二叉树
Unique Binary Search Trees 动态规划
二叉树
Word Break 动态规划
N/A
Word Break II 动态规划
N/A
Palindrome Partitioning 动态规划
N/A
...
分类:
其他好文 时间:
2014-07-21 15:21:05
阅读次数:
189
DP矩形镶嵌,打印路径与最长公共子序列相似。 1 #include 2 #include 3 #define doumax(a,b) (a>b?a:b) 4 const int maxn=100; 5 int mat[maxn][maxn],dp[maxn],n; 6 struct node{ 7 ...
分类:
其他好文 时间:
2014-07-21 14:36:28
阅读次数:
387
一 题意描述:有n(1=last[j]}三 源码展示: 1 #include 2 int dp[5010],sum[5010],last[5010]; 3 int main() 4 { 5 int n; 6 scanf("%d",&n); 7 memset(sum,0,si...
分类:
其他好文 时间:
2014-07-21 14:30:46
阅读次数:
206
昨天队长说DAG,今早就蹦跶蹦跶滴开搞了,小白书~翻呀翻,看呀看,妈蛋,LRJ留的问题那么深奥让彩笔情何以堪啊~~德玛西亚
原谅彩笔只能刷水题啊
南阳理工OJ上的题:
矩形嵌套
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅...
分类:
其他好文 时间:
2014-07-21 14:11:36
阅读次数:
321
题目来源:POJ 2955 Brackets
题意:最大括号匹配
思路:
#include
#include
#include
#include
using namespace std;
const int maxn = 210;
int dp[maxn][maxn];
char a[maxn];
int b[maxn];
int dfs(int l, int r)
{
if(l ...
分类:
其他好文 时间:
2014-07-21 14:07:05
阅读次数:
178
划分数 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 有n个无区别的物品, 将它们划分成不超过m组, 求出划分方法数模M的余数.例如: n=4的m=3个划分, result=4(1,1,2; 1,3; 2,2; 4)使用动态规划(DP)方法, n的m划分a, 如果每个i都有a, {a-1}的集合就是n-m的m划分; a=0时, 就是n的m-1划...
分类:
其他好文 时间:
2014-07-21 11:14:04
阅读次数:
198