codeforces9D How many trees?
传送门:http://codeforces.com/problemset/problem/9/D
【题解】
树形dp,f(i,j)表示i个节点,高度为j的方案数,枚举左子树大小和哪一个子树高度为j-1即可。
不加任何优化时间复杂度$O(n^4)$
# include <bits/stdc++.h>
using namespace std; typedef long long ll;
const int M = ; int n, h;
ll f[M][M]; int main() {
cin >> n >> h;
f[][] = ;
for (int i=; i<=n; ++i)
for (int j=; j<=i; ++j) {
for (int k=; k<=i-; ++k)
for (int l=; l<=j-; ++l)
f[i][j] += f[k][j-]*f[i-k-][l];
for (int k=; k<=i-; ++k)
for (int l=; l<=j-; ++l)
f[i][j] += f[k][j-]*f[i-k-][l];
}
ll ans = ;
for (int i=h; i<=n; ++i) ans += f[n][i];
cout << ans;
return ;
}
codeforces9D How many trees?的更多相关文章
- 『题解』Codeforces9D How many trees?
更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description In one very old text file there was wr ...
- [C#] C# 知识回顾 - 表达式树 Expression Trees
C# 知识回顾 - 表达式树 Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...
- hdu2848 Visible Trees (容斥原理)
题意: 给n*m个点(1 ≤ m, n ≤ 1e5),左下角的点为(1,1),右上角的点(n,m),一个人站在(0,0)看这些点.在一条直线上,只能看到最前面的一个点,后面的被档住看不到,求这个人能看 ...
- [LeetCode] Minimum Height Trees 最小高度树
For a undirected graph with tree characteristics, we can choose any node as the root. The result gra ...
- [LeetCode] Unique Binary Search Trees 独一无二的二叉搜索树
Given n, how many structurally unique BST's (binary search trees) that store values 1...n? For examp ...
- [LeetCode] Unique Binary Search Trees II 独一无二的二叉搜索树之二
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...
- 2 Unique Binary Search Trees II_Leetcode
Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For e ...
- Finger Trees: A Simple General-purpose Data Structure
http://staff.city.ac.uk/~ross/papers/FingerTree.html Summary We present 2-3 finger trees, a function ...
- Christmas Trees, Promises和Event Emitters
今天有同事问我下面这段代码是什么意思: var MyClass = function() { events.EventEmitter.call(this); // 这行是什么意思? }; util.i ...
随机推荐
- oracle 取俩个字符串的差集
思路: --funcation RemoveSameStr(in_str,splitStr) ;用于去除重复值 ; SELECT b.memberid, RemoveSameStr(wm_concat ...
- python调用Sikuliapi
Sikuli是由MIT(麻省理工学院) 研究团队发布的一种图形化编程技术(编程小白的福音),使用Sikuli你只需要会写HelloWorld这种最基本的编程技能即可,用Sikuli不需要去写出一行行复 ...
- [转帖]剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER)
剖析淘宝TDDL(TAOBAO DISTRIBUTE DATA LAYER) 博客分类: 原博客地址: http://qq85609655.iteye.com/blog/2035176 distrib ...
- [转帖]22个必须学习的Linux安全命令
22个必须学习的Linux安全命令 http://os.51cto.com/art/201808/581401.htm Linux系统的安全性涉及很多方面,从设置帐户到确保用户合法,限制比完成工作所需 ...
- Android 去掉标题全屏显示
自己测试时出现无法实现去掉标题和全屏功能.最后发现只要public class SocketActivity extends Activity {} 而不能用ActionBarActivity. 先介 ...
- 半夜思考之查漏补缺 , Spring 中的 Bean 继承机制
这里的继承 , 不是 Java 中的继承 , 下面就总结下 Bean继承与Java继承的区别: Spring 中的子类 Bean 和父 Bean 可以是不同类型 , 但是 Java 中的继承则可保证子 ...
- Java Queue 专题
关于java中的Queue,经常用到,做个总结 Queue是一种很常见的数据结构类型,在java里面Queue是一个接口,它只是定义了一个基本的Queue应该有哪些功能规约. (Java中的集合包括三 ...
- Vivian's Problem UVA - 1323(梅林素数+状压二进制)
借鉴:https://blog.csdn.net/miku23736748/article/details/52135932 https://blog.csdn.net/acm_cxlove/arti ...
- Genaro Network —— 区块链3.0缔造者
在2018年1月26日硅谷密探在美国旧金山艺术宫成功举办了“Blockchain Connect Conference”.在大会上,Genaro Network 联合CEO Jason Inch 携同 ...
- CF960G Bandit Blues 【第一类斯特林数 + 分治NTT】
题目链接 CF960G 题解 同FJOI2016只不过数据范围变大了 考虑如何预处理第一类斯特林数 性质 \[x^{\overline{n}} = \sum\limits_{i = 0}^{n}\be ...