动态规划的一下理解
qte_acm
这个作者很懒,什么都没留下…
展开
-
poj 1742
这是一个简单的多重背包问题 , 但关键在于这个题目没有必要记录最优值 , 只需要记录能不能到达。下面贴出两个代码:代码1:#include#includeusing namespace std;int xy[110][2] ;bool gh[100010];int n , m;int main(){ while(scanf("%d %d" , &n , &m)&原创 2013-12-14 20:04:35 · 582 阅读 · 0 评论 -
01背包和完全背包比较容易忽略的地…
01背包和完全背包比较容易忽略的地方01背包: 1、for(i = 1;i { for(j = v; j >= c[i]; j--) // { f[j] = max(f[j] , f[j-c[i]] + w[i]); } } 2、for(i = 1; i {原创 2013-12-14 20:04:27 · 528 阅读 · 0 评论 -
动态规划求 最长递增子序列
给出一段整数序列 , 要求出这个序列的最长递增子序列 。方法一:我们可以利用背包状态转移的思想 , 从后先前分析 , 我们先只考虑前 i-1 个元素中的最长递增子序列 , 当求前 i个元素的最长递增序列时 , 我们只需要确定第 i 个元素可以放在前 i-1 个元素中哪些元素的后面 , 则 i元素就能跟该元素构成一个新的序列。即:k xy[i] > xy[k] , 则 i 元素就能放原创 2013-12-14 20:04:30 · 592 阅读 · 0 评论 -
poj 1836 最长增长序列的变形
题目意思:问题描述:给定一个序列(a1, a2, ...,an),删除m个元素后,形成一个子序列(ak1, ak2, ..., aki),满足如下条件:对任意k ∈ ki有ak1 <... ak+1 > ... > aki输入:第1行整数n(2 ≤ n ≤ 1000),第2行n个浮点数,表示序列(a1, a2,..., an)输出:形成上述最长子序列所需删除的最少元素个数,即m的最原创 2013-12-14 20:04:39 · 630 阅读 · 0 评论