题干:

将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>=n2>=…>=nk>=1 ,k>=1 。
正整数n 的这种表示称为正整数n 的划分。正整数n 的不同的划分个数称为正整数n 的划分数。

Input

标准的输入包含若干组测试数据。每组测试数据是一个整数N(0 < N <= 50)。

Output

对于每组测试数据,输出N的划分数。

Sample Input

5

Sample Output

7

Hint

5, 4+1, 3+2, 3+1+1, 2+2+1, 2+1+1+1, 1+1+1+1+1

解题报告:

dp[i][j]代表将i划分成最大整数为j的方案数。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define F first
#define S second
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
typedef pair<int,int> PII;
const int MAX = 55 + 5;
vector<int> vv;
ll dp[MAX][MAX];
ll ans[MAX];
int main()
{   int n=50;for(int i = 1; i<=n; i++) dp[0][i] = 1;for(int i = 1; i<=n; i++) {for(int j = 1; j<=n; j++) {if(i<j) dp[i][j] = dp[i][j-1];else dp[i][j] = dp[i-j][j] + dp[i][j-1];}}for(int i = 1; i<=n; i++) {ans[i] = dp[i][50];}  while(~scanf("%d",&n)) {printf("%lld\n",ans[n]);}return 0 ;
}

或者这么写也可以:

 for(int i = 1; i<=n; i++) {for(int j = 1; j<=n; j++) {if(i<j) dp[i][j] = dp[i][j-1];else if(i==j) dp[i][j] = dp[i][j-1]+1;else dp[i][j] = dp[i-j][j] + dp[i][j-1];}}

【OpenJ_Bailian - 4117】简单的整数划分问题(dp)相关推荐

  1. Bailian4117 简单的整数划分问题【整数划分+记忆化递归】

    4117:简单的整数划分问题 总时间限制: 100ms 内存限制: 65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=n ...

  2. c++矩阵连乘的动态规划算法并输出_算法交流: 7215 简单的整数划分问题 【2.7基本算法之算法效率】...

    [题目描述]7215:简单的整数划分问题 by Oler17WA 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=nk>=1 ,k&g ...

  3. 百练 04 简单的整数划分问题

    百练 04 简单的整数划分问题 总时间限制: 内存限制: 100ms 65536kB 描述 将正整数nn表示成一系列正整数之和,n=n1+n2+-+nkn=n_1+n_2+-+n_k, 其中n1> ...

  4. 整数划分问题的递归算法-c语言,简单的整数划分问题(递归)

    描述 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=nk>=1 ,k>=1 . 正整数n 的这种表示称为正整数n 的划分.正整 ...

  5. 整数划分问题 递归 动态规划 openjudge 百练 python

    4117:简单的整数划分问题 http://bailian.openjudge.cn/practice/4117 4119:复杂的整数划分问题 http://bailian.openjudge.cn/ ...

  6. Bailian4119 复杂的整数划分问题【DP】

    4119:复杂的整数划分问题 总时间限制: 200ms 内存限制: 65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=n ...

  7. 【生成函数】五边形数定理与整数划分问题详解

    Part 0. 前置知识 简单的公式推导 生成函数 大量数学公式警告 Part 1. 什么是五边形数 五边形数 看一张图吧: XP 系统带的画图真的挺好用! 我们不难得出五边形数的数列: P = { ...

  8. 递归--整数划分问题

    问题描述: 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk,其中n1≥n2≥-≥nk≥1,k≥1.正整数n的这种表示称为正整数n的划分. 问题1: 输出整数n的所有可能的划分,如: 输入: ...

  9. 百练 03 复杂的整数划分问题

    百练 03 复杂的整数划分问题 总时间限制: 内存限制: 200ms 65536kB 描述 将正整数nn表示成一系列正整数之和,n=n1+n2+-+nkn=n_1+n_2+-+n_k, 其中n1> ...

最新文章

  1. 关系数据库范式(1)
  2. Linux程序移植到Android上
  3. SAP UI5对mobile touch事件的支持
  4. 基于verilog贪吃蛇游戏设计
  5. 深入剖析Redis系列(四) - Redis数据结构与全局命令概述
  6. 【C++深度剖析教程35】函数模板的概念和意义
  7. android主流技术框架,android开发现在流行什么IDE和开发框架?
  8. 你可真行呀的飞鸽传书
  9. 【ASM C/C++】 Makefile 规则说明
  10. RabbitMQ学习之ConntectionFactory与Conntection的认知
  11. Atitit 常用二维码对比(QR、PDF417、DM、汉信码 Aztec code maxicode
  12. 关于Android中开机启动服务
  13. 使用腾讯云DNSPod实现动态域名解析DDNS(测试可以用)
  14. codeforce 760 B Frodo and pillows 二分搜索
  15. 房屋租赁合同法律规定是怎样的
  16. 解决eWebEditor上传图片提示:请选择一个有效的文件,支持的格式有(GIF|JPG|JPEG|BMP|PNG)!
  17. 花落谁家---再见熊节
  18. 网红超火罗马桌面时钟效果
  19. Android基础整合项目之节日群发助手(二)
  20. Springboot中使用@Value无法取到application.properties值

热门文章

  1. CruiseControl.NET ----- mail 配置
  2. where 1=1低效?
  3. 学PHP的嫌弃什么歌,抖音再见了互相嫌弃的老同学是什么歌
  4. php.ini 老薛,出现Allowed memory size of 134217728 bytes exhausted怎么办?
  5. wpf的listbox循环数据滚动_滚动版 CentOS Stream 和 Fedora 的关系
  6. css3 transform matrix 深入理解
  7. mysql change index_MySQL · 引擎特性 · Innodb change buffer介绍
  8. esxi usb插口_酷暑大作战 | USB-C风扇新体验
  9. linux ps 进程组,linux进程管理(2)---进程的组织结构
  10. git 合并冲突_GIT提交记录和Revert commit过程分析