《dp补卡——343. 整数拆分、96. 不同的二叉搜索树》
343. 整数拆分
dp[i]最大乘积出处:从1遍历j到i,j * dp[i-j] 与 j * (i-j)取最大值。( 拆分j的情况,在遍历j的过程中dp[i - j]其实都计算过了 )
dp[i] =max(dp[i],max(j*(i-j),j*dp[i-j]));
由于递推公式,dp[i]是依靠dp[i-j]的状态,所以i遍历从前向后。j也是从前向后遍历的。
class Solution {public:int integerBreak(int n) {vector<int> dp(n+1);dp[0] = dp[1] = 0;dp[2] = 1;for(int i = 1; i <= n; i++){for(int j = 1; j <= i; j++){dp[i] =max(dp[i],max(j*(i-j),j*dp[i-j]));}}return dp[n];}
};
96. 不同的二叉搜索树
dp[3] = 元素1为头结点搜索树的数目 + 元素2为头结点搜索树的数目 + 元素3为头结点搜索树的数量
元素1为头结点搜索树的数量 = 右子树有2个元素的搜索树数量 * 左子树有0个元素的搜索树数量
元素2为头结点搜索树的数量 = 右子树有1个元素的搜索树数量 * 左子树有1个元素的搜索树数量
元素3为头结点搜索树的数量 = 右子树有0个元素的搜索树数量 * 左子树有2个元素的搜索树数量
所以 dp[3] = dp[2] * dp[0] + dp[1] * dp[1] + dp[0] * dp[2];
dp[i] += dp[j-1] * dp[i-j];
dp[j-1]:j为头结点左子树节点数量
dp[i-j]:i-j为头结点右子树节点数量
for(int i = 1; i <= n; i++)
{for(int j = 1; j <= i; j++){dp[i] += dp[j-1]*dp[i-j];}
}
class Solution {public:int numTrees(int n) {vector<int> dp(n+1);dp[0] = 1;for(int i = 1; i <= n; i++){for(int j = 1; j <= i; j++){dp[i] += dp[j-1] * dp[i-j];}}return dp[n];}
};
《dp补卡——343. 整数拆分、96. 不同的二叉搜索树》相关推荐
- ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)
视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...
- ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析
视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...
- 信息学奥赛真题解析(玩具谜题)
玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...
- 信息学奥赛之初赛 第1轮 讲解(01-08课)
信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...
- 信息学奥赛一本通习题答案(五)
最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...
- 信息学奥赛一本通习题答案(三)
最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...
- 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题
第1章 快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章 素数 第 3 章 约数 第 4 章 同余问题 第 5 章 矩阵乘法 第 6 章 ...
- 信息学奥赛一本通题目代码(非题库)
为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...
- 信息学奥赛一本通(C++版) 刷题 记录
总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...
- 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离
首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...
最新文章
- 程序调试的时候利用Call Stack窗口查看函数调用信息
- 后门技术(HOOK篇)之DT_RPATH
- HttpServlet中的service方法
- 卫星轨道推演计算相关知识点总结(含欧拉角、旋转矩阵、及各坐标系转化等)
- 小波的秘密10_小波包的数学支撑
- boost::geometry::is_convex用法的测试程序
- web 上传文件到linux没权限,Javaweb上传文件到Linux 没有读写权限
- php返回json套数组_教你PHP怎么不用框架写优雅的中小网站
- ubuntu18.04 中个性化配置vim方法
- Java入门视频教程
- 运维工程师必会原理知识
- 推荐 10 个好用的 JavaScript 代码压缩工具
- 幼儿园观察记录的目的和目标_幼儿园益智活动观察记录与反思
- 首席数据官:从哪里来?到哪里去?
- 4016: 辉夜的夜空明珠(moon)
- 天津巨富八大家——天成号韩家
- mysql连接中文_MYSQL远程连接查询中文乱码
- A component required a bean of type ‘com.dmsd.spm.provider.service.BookServi
- Zabbix-01简单导入MIB文件并测试
- 《七步走出职场焦虑©:释放压力,做情绪的主人》
热门文章
- .net数据源控件绑定mysql_理解asp.net中DropDownList编辑数据源,绑定数据库数据。...
- mpvue微信小程序动画_入门微信小程序
- vue基础教程总结篇,用最短的时间入门vue.js(持续更新...)
- 从WEB应用的角度,一个应用都需要维护一些不同作用范围的状态, 请问下面哪些状态作用域是WEB应用特有的:( )
- 通过暴露出来的OA和github信息拿Shell
- ext3 tree tbar 初始化定义
- mysql不复制数据_windows mysql不停止服务复制数据
- re正则表达式公式讲解5
- 小谈React、React Native、React Web
- ASP.NET Core Razor Pages