题目大意:求直径长度为N的无根二叉树的个数(同构的只算一种)分析:分析发现直径长度不好处理!因此考虑把问题转化一下:假设要求直径为N的二叉树(1)若N为偶数,将树从直径中点的边断开,则分成了两个深度为 n/2 的有根树(为什么要这么分?因为若深度大于 n/2 那么子书的直径就有可能大于n了!)用nu...
分类:
其他好文 时间:
2014-12-08 22:42:38
阅读次数:
195
Uva 10912 Simple Minded Hashing (计数DP) —— black 的专栏 —— waShaXiu...
分类:
其他好文 时间:
2014-11-14 14:18:45
阅读次数:
151
Uva 10401 Injured Queen Problem ( 计数DP) —— black的专栏 —— waShaXiu...
分类:
其他好文 时间:
2014-11-14 12:43:13
阅读次数:
166
题目传送门 http://poj.org/problem?id=1664设$dp[i][j]$表示$i$个苹果放在$j$个盘子里的总数$1.$ 当 苹果数 小于 盘子数 $(M #include #include #include #include #include #include using n...
分类:
其他好文 时间:
2014-11-08 14:49:59
阅读次数:
229
题目:给你n个括号,求合法的匹配中,深度不超过d的组合数。
分析:组合,计数,dp,大整数。
这个题目很像卡塔兰数,不过深度有限制,可以利用卡塔兰数的递推公式求解;
设C(k,d)为k对括号形成深度不超过d的合法匹配方法数;则有:
C(k,d)= Σ(C(i,d-1)*C(k-1-i,d)) { i 取0到 k-1 }...
分类:
其他好文 时间:
2014-09-14 15:26:37
阅读次数:
314
这道题总算勉勉强强看懂了,DP和计数都很不好想DP部分:称i根木棒的合法方案集合为S(i),第二根木棒比第一根长的方案称作UP方案,反之叫做DOWN方案C[i][k][DOWN] 是S(i)中以第k短(而不是长度为k)的木棒打头的DOWN方案数。假设S(i)中第一根木棒长为x,那么构成合法的方案数有...
分类:
其他好文 时间:
2014-09-11 11:00:21
阅读次数:
358
统计一个只由大写字母构成的字符串的,子串数目,这里指的是子串不是子序列,可以不连续,请注意然后我按照计数DP的思想,dp[i][j]表示长度为i的子串,最后一个字母为j然后为了去重,每一次dp的时候,记录这个时候最后一位所在的位数,而且之前用一个后缀记录之后有没有该字母,这样每次,从上一次的j所处的...
分类:
其他好文 时间:
2014-08-11 11:39:42
阅读次数:
148
给定一个数字串,问有多少种拆分方法,题目所谓的拆分,就是分成若干个子块,每个块的和 即为各个数字相加,当前块的和一定要小于等于后面的块的和比如1117 就有这些[1-117], [1-1-17], [1-11-7], [1-1-1-7], [11-17],and [111-7]肯定是计数DP,而且二...
分类:
其他好文 时间:
2014-08-10 18:07:20
阅读次数:
257
也是经典的计数DP题,想练练手,故意不写记忆化搜索,改成递推,还是成功了嘞。。。不过很遗憾一开始WA了,原来是因为判断结束条件写个 n或s为0,应该要一起为0的,搞的我以为自己递推写挫了,又改了一下,其实递推没问题,就是写出来不好看#include #include #include #includ...
分类:
其他好文 时间:
2014-08-10 15:25:10
阅读次数:
216
题意是 给n个数.
前面取任意个数 组成集合S 取在所有S中元素后面的任意个元素 T ,S 和T 不为空集;
计算能让S集合所有元素的异或(^)后得到的数等于 T集合所有元素与(&)后得到的数. 这样取两个集合,不同的取法有多少个.
data[ i ][ j ]表示在i号元素以前,包括i, 能通过^运算得到j的方法数
data2[ i ][ j ]表示在i号元素以后,包括i,能通过&运算得到j的方法数
data3[ i ][ j ] 表示在i号元素以后,包括i,能通过&运算得到j,且一定取了i...
分类:
其他好文 时间:
2014-08-04 14:35:17
阅读次数:
248