![牛客国庆集训派对Day2 F-平衡二叉树(简单dp)_第1张图片](http://img.e-com-net.com/image/info8/eb2aadf1eef4445da2d08d0a34160fa6.jpg)
![牛客国庆集训派对Day2 F-平衡二叉树(简单dp)_第2张图片](http://img.e-com-net.com/image/info8/49f60e6e18704742ae4f4ccb39205312.jpg)
思路来源
钱神
钱神如是说(样例n=4 d=1):
![牛客国庆集训派对Day2 F-平衡二叉树(简单dp)_第3张图片](http://img.e-com-net.com/image/info8/d99784fa249147af90c3cda47d5fbd48.jpg)
对于高度为5,满足d=1的树来说,只需要左子树高度4,右子树高度3
就可以满足d=1
右子树只要满足右左子树高度3且d=1,右右子树高度2且d=1
然后递归的去求
最后发现其实可以递推。
题解(转移方程)
其中i是树的节点数,a[i][d]对应的是树的总结点个数,
这是在深度相差不超过d之下的最小节点个数。
其实预处理一下所有的d也可以,毕竟60*60。
a[i][d]=1+a[i-1][d]+a[i-1-d][d];(i>=1+d)
a[i][d]=i;(i<=d)
一个简单dp,然而自己太菜了。
心得
很迷的一道题,
dfs记忆化搜索会WA样例。
循环就过了,gg。
代码①(WA代码)
#include
#include
#include
#include
#include
#include
#include
#include
代码②(AC代码)
#include
#include
#include
#include
#include
#include
#include
#include