动态规划_数字的划分
以下问题
1. 将n划分成若干正整数之和的划分数。
2. 将n划分成k个正整数之和的划分数。
3. 将n划分成最大数不超过k的划分数。
4. 将n划分成若干奇正整数之和的划分数。
5. 将n划分成若干不同整数之和的划分数。
1.将n划分成不大于m的划分法:
1).若是划分多个整数可以存在相同的:
dp[n][m]= dp[n][m-1]+ dp[n-m][m] dp[n][m]表示整数 n 的划分中,每个数不大于 m 的划分数。
则划分数可以分为两种情况:
a.划分中每个数都小于 m,相当于每个数不大于 m- 1, 故划分数为 dp[n][m-1].
b.划分中有一个数为 m. 那就在 n中减去 m ,剩下的就相当于把 n-m 进行划分, 故划分数为 dp[n-m][m];
2).若是划分多个不同的整数:
dp[n][m]= dp[n][m-1]+ dp[n-m][m-1] dp[n][m]表示整数 n 的划分中,每个数不大于 m 的划分数。
同样划分情况分为两种情况:
a.划分中每个数都小于m,相当于每个数不大于 m-1,划分数为 dp[n][m-1].
b.划分中有一个数为 m.在n中减去m,剩下相当对n-m进行划分,
并且每一个数不大于m-1,故划分数为 dp[n-m][m-1]
2.将n划分成k个数的划分法:
dp[n][k]= dp[n-k][k]+ dp[n-1][k-1];
方法可以分为两类:
第一类: n 份中不包含 1 的分法,为保证每份都 >= 2,可以先拿出 k 个 1 分
到每一份,然后再把剩下的 n- k 分成 k 份即可,分法有: dp[n-k][k]
第二类: n 份中至少有一份为 1 的分法,可以先那出一个 1 作为单独的1份,剩
下的 n- 1 再分成 k- 1 份即可,分法有:dp[n-1][k-1]
3.将n划分成若干奇数的划分法:
g[i][j]:将i划分为j个偶数
f[i][j]:将i划分为j个奇数
g[i][j] = f[i - j][j];
f[i][j] = f[i - 1][j - 1] + g[i - j][j];
方法可以分为两类:
第一类:i中拿出j个1分到每一份中,将剩余的i-j分成j个奇数
第二类:一份包含奇数1,剩余的i-1分成j-1个奇数;另一种,每份至少大于1,将j个1拿出来分到每一份中,其余i-j分成j份
动态规划_数字的划分相关推荐
- 动态规划_数字三角形
问题描述:在下面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大,路径上的每一步都只能往左下或右下走.只需要求出这个最大和即可,不必给出具体路径. 输入数据的要求:三角形的行数 ...
- 专题_数字货币历史行情获取[博]
原创博客地址:专题_数字货币历史行情获取[博] 1,购买 1.1 淘宝,闲鱼 1.2 matrix 地址:https://jiaozi-matrix.com/ 1.3 cryptocompare有免费 ...
- CCC3.0学习笔记_数字密钥数据结构
CCC3.0学习笔记_数字密钥数据结构 系列文章目录 文章目录 系列文章目录 前言 4.1 Applet Instance Layout 4.2 Digital Key Structure 4.2.1 ...
- ACM杂题——动态规划_背包问题
ACM杂题K - I NEED A OFFER!--动态规划_背包问题优化解法 题目描述 Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校 ...
- 明尼苏达测试 心理测试_数字划分? 明尼苏达州特许学校的亚洲企鹅如何共享Linux...
明尼苏达测试 心理测试 "直到完成,似乎总是不可能的." -纳尔逊·曼德拉. 2018年12月20日,一支由4名学生组成的团队和一名来自社区卓越学校(CSE)的陪护人员将一台计算机 ...
- 强化学习-动态规划_强化学习-第4部分
强化学习-动态规划 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU's Yo ...
- 强化学习-动态规划_强化学习-第5部分
强化学习-动态规划 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU's Yo ...
- python复数的实部和虚部都是整数嘛_数字类型
Python数字数据类型用于储存数值. 数字类型是不可变类型,所谓不可变类型,指的是类型的值一旦有不同了,那么他就是一个全新的对象,数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新创 ...
- mysql动态规划_动态规划《开篇》
动态规划(dynamic programing)和分治法类似,都是通过组合子问题的解来求解原问题的解.(在经典排序算法中的二路归并排序和快速排序都用到了分而治之的思想-分治法). 分治法是将原问题划分 ...
- 动态规划之数字三角形模型
数字三角形模型 前言 最低通行费 方格取数 传纸条 前言 数字三角形题型的一般描述是: 给定一个共有N行的三角矩阵A,其中第t行有X列.从左上角出发,每次可以向下方或右下方走一步,最终到达底部求把经过 ...
最新文章
- Sharding-eth
- Python告诉你这些旅游景点好玩、便宜、人又少!
- 推荐8个值得每天一看的网站,值得收藏起来!
- 【坑爹微信】微信开发基础 --- 微信快捷登陆问题解决
- 推荐11个实用Python库
- WinCE BSP中的DAT文件介绍
- 理解Java多线程高并发Executor框架的使用
- ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证
- Animator Controller 继承关系
- Spark稀疏向量和稠密向量
- Dart基础第9篇:对象、类
- 如何获取HTML元素所对应的javascript对象?
- atitit.attilax.com产品 软件项目通用框架类库总结
- 博为峰Java技术文章 ——JavaSE Swing焦点事件的处理
- 华为交换机镜像端口配置
- 南大网院计算机基础第一次作业,南大网院2015计算机基础第一次作业.docx
- usb启动计算机boss设置方法,技嘉主板bios设置usb启动(图文教程)
- 电子技术网站大全[转]
- ntfs磁盘格式是什么?NTFS如何读写Mac硬盘?
- dpdk 驱动移植叩开 kni 模块那些黑暗的角落
热门文章
- 美国大大学计算机排名2015,2015年美国计算机专业大学排名TOP20
- Allegro削铜皮详细操作指导
- 和平精英体验服服务器怎么样维护,和平精英体验服账号怎么弄_体验服官网申请教程_3DM手游...
- hp 服务器可以安装win7系统安装,惠普HP预装Win10改Win7系统BIOS设置及安装教程
- 外边框HTML代码,HTML代码-边框篇
- 组网 三层交换机配置
- python开源怎么盈利_弄清楚Python最火的开源项目,你就掌握了商机
- Point-Set Topological Spatial Relations 点集拓扑空间关系
- [常用类]Instant类的使用
- 《python网络爬虫和信息提取》:全球电影票房排行榜(附更改后的代码)