![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
weiwanshu
这个作者很懒,什么都没留下…
展开
-
poj 1163/3176 数字三角形【简单DP】
#include #include int max( int i, int j){ return i > j ? i : j; } int main(void){ int n; int a[405][405]; int d[405][405]; int i, j; scanf("%d", &n); for( i = 1; i <= n; i++) for( j = 1;原创 2015-05-20 21:03:12 · 441 阅读 · 0 评论 -
POJ 3628 bookshelf2【0-1背包】
一道比较简单的0-1背包题,我理解题意花了一些时间= =。。。。 求奶牛高度的和与规定值的最小差值。。。 所以把循环上限改成所有奶牛高度的总和就可以了 #include #include int max( int a, int b){ return a > b? a : b; } int main(void){ int n, b; int i, j, height[2005], ans原创 2015-05-27 17:51:54 · 441 阅读 · 0 评论 -
POJ 3624 【0-1背包】
0-1背包最基本的入门题,做得特别开心 #include #include int max( int a, int b){ return a > b? a : b; } int main(void){ int i, j; int desire, weight; int dp[100005]; int n, m; memset( dp, 0, sizeof(dp)); scanf("原创 2015-05-27 16:24:37 · 529 阅读 · 0 评论 -
POJ 2063【完全背包】
这道题就是需要每年都进行一次动态规划,然后直接套完全背包即可 因为本金有可能很大,所以这里面有一个简易的状态压缩,因为本金和价格都是的1000倍数,可以将其都除以1000; #include #include int max( int a, int b){return a > b ? a : b;} int main(void){ int t, j, i, y, num, basic,原创 2015-05-27 20:06:54 · 254 阅读 · 0 评论 -
POJ 1276 Time Machine【多重背包】
这个多重背包问题我单纯地把它转化成了0-1背包问题,然后列出状态转移方程 dp[i][j] = max{ dp[ i-1][ j - k * V[i]] + k , dp[ i-1][ j-1] } 这样看起来是需要三重循环哦。。开心的列了出来【图样图森破,简直拿衣服】 DP部分的代码写成了这样 for( i = 1; i <= n; i++){ for( j = N; j >=原创 2015-05-25 16:51:18 · 252 阅读 · 0 评论 -
背包九讲的读书笔记
我在做POJ 1276 的时候讨论区都在感谢背包九讲,虽然到最后AC我都没有用到,不过我下载下来准备学习一番。因为我觉得背包我好像懂了但其实没懂,好像没懂吧但又真的没懂 = =。。。0-1背包只会用贪心。。其他背包状态转移方程会列的不会写,不会列的更不会写(为什么写这么多废话 = =)。本文基本上是背包九讲里的原文各种节选和化用,注里是我的一些理解。 【第一讲】 0-1背包 1、简述题意 有原创 2015-05-25 18:04:19 · 343 阅读 · 0 评论 -
POJ 1384 【完全背包】
这道题花了我好长时间,因为莫名其妙的问题WA,一直到最后AC都没有懂我当初除了初始化太小以外还出了什么问题 AC代码 #include #include int min( int a, int b){return a < b ? a : b;} int dp[200005], weight, value; int main(void){ int t, j, i, empty, full,原创 2015-05-27 19:38:29 · 325 阅读 · 0 评论 -
POJ 2081 Recaman's Sequence
很简单题,直接暴力运算。前人们都说这道题是简单DP,比较有道理 不过我觉得这道题好像模拟以下计算过程就完事了,不过想起来DP也是在模拟计算过程。。。结果我在网上也没查到模拟法的定义 这道题比较有意思的是数组范围,超~~~~大,本地根本无法通过,不过OJ上可以 #include #include #define max 10000000 #define N 500002 int a[N]; c原创 2015-05-23 12:05:56 · 366 阅读 · 0 评论