最近在做动态规划的题目,这里的题目绝对是acm的一个门槛,对你的编程能力,逻辑能力,算法能力都是一个考验。我不幸已经在门槛上摔到了。
动态规划的学习是一个长期的过程,如果只是做题不进行理论学习,我感觉是非常艰难,属于事半功倍类型。所以一边要进行题目上的训练,一边也要总结,在理论上进行巩固。
先从最近的几题入手,最长公共子序列。uva-103,111,10066,10192个人感觉都是这类型的。
我看了几篇牛人也的博客,感觉自己描述可能反倒不能理解,所以选取最佳的一篇放在这里供大家学习。
http://www.cnblogs.com/huangxincheng/archive/2012/11/11/2764625.html
做最长公共子序列主要还是状态方程要弄清楚
i,j是指两个进行比较的序列的长度。C[i,j]即长度为i,j的两个序列的最长公共子序列。随后附上几题的代码。
原文:http://www.cnblogs.com/royjwy/p/3607343.html