![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm算法之动态规划
魔法自动机
硕士在读,主要做医疗软件开发和医学图像处理。
展开
-
acm专题学习之动态规划(一)状压dp+记忆化搜索+uva 10651 - Pebble Solitaire
题目:由‘o'或’-‘组成的12格子棋盘,有两个规则:’-oo'可以变成’o--',’oo-'可以变成’--o'。问通过这两个规则最少可以只剩多少个‘o'。状态压缩dp:带入二进制。比如说这道题里,每个格子有两种情况,那么12个格子最多有2的12次方种情况。每个格子里面‘o'对应为1,’-‘对应为0,那么组成的情况就可以用12个格子组成的2进制数表示。例如’-oo-oo-oo-oo'为'011...原创 2019-02-23 22:50:42 · 130 阅读 · 0 评论 -
acm专题学习之动态规划(二)LIS最长上升子序列
最长上升子序列:一个序列,求出一段不断严格上升的部分,不一定要连续。(区别于子串:要求连续)求最长上升子序列有两种方法,一个是复杂度n*n,一个是复杂度n*log2n。复杂度n*n的算法:dp[i]对应为前i个的最长上升子序列。 for(int i=1;i<=字符串的长度;i++) { dp[i]=1;//前i个字符的最长上升子序列最少为1,就...原创 2019-03-23 10:30:21 · 252 阅读 · 0 评论