红桃J

用心写好每行完美的代码,远比写一堆更有价值

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

随笔分类 -  DP(动态规划)

摘要:每一个学习算法的人最初接触动态规划时都久久不能理解其思想。为了更好的体会动态规划的思想,我推荐以下学习方式学习方式:首先研究最大连续子序列和,最长递增字串这两个题目,没有必要强行套对着题目套用状态,转换方程之类的,等你熟练了动态规划的思想后那些自动就理解了。关于这两个题目我建议找一张纸对着非递归的步... 阅读全文
posted @ 2015-07-02 22:30 红桃J 阅读(152) 评论(0) 推荐(0)

摘要:感谢博主:http://qiemengdao.iteye.com/blog/1660229对于博主的第一种做法,最后还是要转到DP上来, 所以我觉得只是算是用求最大公共子序列的算法的强加应用,并没有什么统一性。对于第二种做法,以我现在对DP的应用(简单的大脑)来说是值得学习的,如何对状态进行转化表示... 阅读全文
posted @ 2014-09-19 14:50 红桃J 阅读(179) 评论(0) 推荐(0)

摘要:这是到动态规划的题目,属于有顺序的0 1 背包问题;代码: 1 #include 2 #include 3 4 int d[20][100000]; //d[i][j] 5 int a[20]; 6 int N; 7 8 int max(int a, int b) 9 {10 retu... 阅读全文
posted @ 2014-08-31 22:31 红桃J 阅读(199) 评论(0) 推荐(0)

摘要:#includeusing namespace std;int map[21][21];int d[21][21];int N, M;int dp(int i, int j){ if(d[i][j]!=0) return d[i][j]; if(i==N-1&&j==M-1... 阅读全文
posted @ 2014-08-28 13:55 红桃J 阅读(252) 评论(0) 推荐(0)

摘要:本来是个很水的DP,结果被自己的代码习惯给打败了代码: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 typedef struct rectangle 8 { 9 int x;10 int y;11 }... 阅读全文
posted @ 2014-08-28 11:37 红桃J 阅读(291) 评论(0) 推荐(0)