动态规划
jia_zheng
这个作者很懒,什么都没留下…
展开
-
01背包和完全背包
int dp[MAX];void ()//01背包问题{ for (int i=0; i<n; ++i) for (int j=W; j>=w[i]; --j) { dp[j] = max (dp[j], dp[j-w[i] + v[i]); } printf ("%d", dp[W]);}void ()//完全背包问题{原创 2017-02-28 18:50:44 · 191 阅读 · 0 评论 -
最长公共子序列的问题 (DP)
给定两个字符串s和t, 求出这两个字符串最长的公共子序列的长度。dp[i][j]:=s和t对应的LCS(最长公共子序列)的长度。int n, m;int dp[MAX][MAX];void solve (){ for (int i=0; i<n; ++i) for (int j=0; j<m; ++j) { if (s[i] == t[j])原创 2017-02-28 19:01:51 · 357 阅读 · 0 评论 -
最长上升子序列
主演思想: 遍历之前的所有数并继承他前面的上升长度最长的并且比他小那个数的序列长度,并加一 代码:# include <cstdio># include <iostream># include <cstring># define MAX 1000using namespace std;int s[MAX + 10];//s数组保存序列int slen [MAX + 10];// 保存原创 2016-11-28 19:16:29 · 299 阅读 · 0 评论 -
HDU 4521 小明系列问题——小明序列 (DP)
Problem Description 大家都知道小明最喜欢研究跟序列有关的问题了,可是也就因为这样,小明几乎已经玩遍各种序列问题了。可怜的小明苦苦地在各大网站上寻找着新的序列问题,可是找来找去都是自己早已研究过的序列。小明想既然找不到,那就自己来发明一个新的序列问题吧!小明想啊想,终于想出了一个新的序列问题,他欣喜若狂,因为是自己想出来的,于是将其新序列问题命名为“小明序列”。 提起小明序原创 2017-03-07 18:29:05 · 222 阅读 · 0 评论