摘要: 这时一个dp问题, 我们定义f[i, j]为用i个点组成高度不超过j的二叉树的数量, 那么f[i][j] = sigma(f[k, j-1]*f[i-1-k, j-1]) 1<=k<=i-2; 边界条件是: f[1][j]=1; 代码如下: /* ID: m1500293 LANG: C++ PRO 阅读全文
posted @ 2016-02-12 15:07 xing-xing 阅读(487) 评论(0) 推荐(0) 编辑
摘要: #include <cstdio> #include <algorithm> #include <cstring> #include <iostream> using namespace std; int partner[100]; int N; int total; void dfs() { in 阅读全文
posted @ 2016-02-12 12:08 xing-xing 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 字符矩阵顺时针旋转90度的时候, 行变成列, 列变成行。 镜面对称不是很难直接上测试代码: #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> using namespace std; char 阅读全文
posted @ 2016-02-12 11:24 xing-xing 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 这个问题可以使用dp来统计, 假设我们要统计s中连续的a的数量, 那么我们可以定义f[i]为以i结尾连续的a的个数, 那么我们可以定义如下递推式 , if s[i]=='a' then f[i] = f[i-1] + 1; else f[i]=0; 这样就统计了出来, 我们也可以定义以i为开头的连续 阅读全文
posted @ 2016-02-12 10:25 xing-xing 阅读(314) 评论(0) 推荐(0) 编辑