摘要: 这道题其实就是斯特林数,找不同的集合,一共有多少中组法,递推式就是dp[n][k] = dp[n - 1][k - 1] + k * dp[n - 1][k];这个式子可以这么解释,dp[n][k]就是总数为n分成k个集合一共有多少种, 它就有两种情况一种是第一个自己一个集合(也就是他自己一堆), ... 阅读全文
posted @ 2014-11-14 15:21 Howe_Young 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 题目链接这道题也是简单dp里面的一种经典类型,递推式就是dp[i] = min(dp[i-150], dp[i-200], dp[i-350])代码如下: 1 #include 2 #include 3 using namespace std; 4 int dp[10010]; 5 int mai... 阅读全文
posted @ 2014-11-14 15:13 Howe_Young 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 题目大意:让求长度为n的0 和 1 构成的串中不包含101子串的个数有多少。这个题当时想了好久,以为是一个规律题,一直在推规律,最后还是wa了,上网一看原来是dp问题, 不过确实递推式挺巧妙的。递推式dp[i] = 2 * dp[i - 1] - dp[i - 2] + dp[i - 3];现在就来... 阅读全文
posted @ 2014-11-14 14:58 Howe_Young 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 我们先从简单的例子入手:求ab mod c= 几。算法1.首先直接地来设计这个算法:int ans = 1;for(int i = 1;i 2 #include 3 using namespace std; 4 /*朴素算法*/ 5 /*表示a的b次幂然后对c取余的结果*/ 6 int power... 阅读全文
posted @ 2014-11-14 14:43 Howe_Young 阅读(14413) 评论(3) 推荐(3) 编辑