问题描述

  一个正整数可以划分为多个正整数的和,比如n=3时:
  3;1+2;1+1+1;
  共有三种划分方法。
  给出一个正整数,问有多少种划分方法。

输入格式

  一个正整数n

输出格式

  一个正整数,表示划分方案数

样例输入

3

样例输出

3

数据规模和约定

  n<=100

#include<iostream>
using namespace std;
int dp[110][110];//dp[i][j]用来表示,数值i分成的数最高不超过j的情况数
int main()
{int n;cin>>n;for(int i=0;i<=n;i++){dp[i][1]=1;//拆出来的数不大于1的情况只有一种 dp[0][i]=1;//0只有本身一种情况,因为dp[0][N]=dp[0][0],很玄学,哈哈 }for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){if(j<=i){dp[i][j]=dp[i][j-1]+dp[i-j][j];/*dp[n][m]表示整数 n 的划分中,每个数不大于 m 的划分数。则划分数可以分为两种情况:a. 划分中每个数都小于 m, 相当于每个数不大于 m- 1, 故划分数为 dp[n][m-1].b. 划分中有一个数为 m. 那就在 n中减去 m , 剩下的就相当于把 n-m 进行划分, 故划分数为 dp[n-m][m];*/}else{dp[i][j]=dp[i][i];//如果允许拆出来的最大的数比这个数本身还大,那么最大的数也就是这个数本身 }//    cout<<"dp["<<i<<"]["<<j<<"]="<<dp[i][j]<<endl;}cout<<dp[n][n]<<endl;}

另外感谢小伙伴给我的帮助

算法提高 数的划分 动态规划 无序相关推荐

  1. 算法训练 数的划分 动态规划

    算法训练 数的划分 时间限制:1.0s   内存限制:256.0MB 问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. ...

  2. 算法提高 合并石子【动态规划】

    问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数.求把所有石子合并成一堆的最小花费. 输入格式 输入第一行包含一个 ...

  3. 蓝桥杯 ALGO-22算法训练 数的划分

    问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输入 ...

  4. 蓝桥杯 ADV-205算法提高 拿糖果(动态规划)

    问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉. 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数.这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖.然后 ...

  5. 蓝桥杯 ADV-62算法提高 夺宝奇兵(动态规划)

    [题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 &qu ...

  6. 【c语言】蓝桥杯算法提高 数的运算

    问题描述 输入一个正整数(范围[1-10000]),打印其平方(不保留小数位).平方根.倒数.(用指针实现,保留2位小数,输出每个数之间以一个空格隔开) 样例输入 2 样例输出 4 1.41 0.50 ...

  7. [蓝桥杯]算法提高 秘密行动(动态规划)

    问题描述 小D接到一项任务,要求他爬到一座n层大厦的顶端与神秘人物会面.这座大厦有一个神奇的特点,每层的高度都不一样,同时,小D也拥有一项特殊能力,可以一次向上跳跃一层或两层,但是这项能力无法连续使用 ...

  8. 蓝桥杯 ADV-81 算法提高 数的运算

    输入一个正整数(范围[1..10000]),打印其平方(不保留小数位).平方根.倒数.(用指针实现,保留2位小数,输出每个数之间以一个空格隔开) 样例输入 2 样例输出 4 1.41 0.50 #in ...

  9. Java实现算法提高十进制数转八进制数

    算法提高 十进制数转八进制数 时间限制:1.0s 内存限制:512.0MB 编写函数,其功能为把一个十进制数转换为其对应的八进制数.程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数. ...

最新文章

  1. feign-hystrix的使用
  2. Pandas之:Pandas简洁教程
  3. error: missing or invalid dependency detected while loading class file 'RDD.class'.
  4. 视频光端机选型及常见品牌
  5. leetcode 48. 旋转图像
  6. 字符串经典题之大数相加
  7. Swift解决【闭包引起的循环强引用】
  8. 通俗易懂的5G 入门科普!
  9. java gof_java GOF23设计模式-简单工厂模式进阶
  10. c语言折半查找法找字符,C语言折半查找法练习题冒泡排序
  11. 隔年增长的题_行测技巧:资料分析隔年增长问题
  12. eCognition易康导出样本
  13. python中await async_asyncio中的async和await
  14. 代码安全审计工具推荐
  15. Java程序员技术栈
  16. Windows 7 多国语言包(MUI)
  17. PayPal贝宝工商银行无法提现,怎么办?
  18. 工业相机——感光元件尺寸介绍
  19. 如何理解CE中指针,多重指针,偏移的概念
  20. python word.documents.open报错_Python教程:[43]Word基本操作

热门文章

  1. C#中IEnumerableT.Join()和IEnumerableT.GroupJoin()简单使用
  2. 计算机网络技术期末考试复习总结
  3. 鹿邑2021高考成绩查询,鹿邑中考成绩查询2021
  4. 字体选择_十分钟带你掌握精准选择字体的方法!
  5. android最新设计规范,Android应用未来的设计规范
  6. 友元关系可以继承_私生子也有继承权!非婚生子女的继承关系如何认定?
  7. python入门小游戏之跳一跳_从零基础开始,用python手把手教你玩跳一跳小游戏,直接打出高分...
  8. Win11系统无法安装GPT分区的解决方法
  9. 中关村windows11 32位专业版镜像v2021.07
  10. IE浏览器高级设置如何还原