第二章 递归与分治策略
来源:互联网 发布:电气工程师难考吗 知乎 编辑:程序博客网 时间:2024/06/01 17:15
2-5 整数划分问题
1)递归法
#include <iostream>#include <cstdio>#include <cstring>using namespace std;inline int q(int n,int m) //q(n,m):最大加数n1不大于m的划分个数{if(n<1 || m<1) return 0;if(n==1 || m==1) return 1;if(n<m) return q(n,n);if(n==m) return q(n,m-1)+1;return q(n,m-1)+q(n-m,m);}int main(){int n;while(cin>>n){cout<<q(n,n)<<endl;}return 0;}
2)递归打表法:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int NM=125;__int64 f[NM][NM];inline int q(int n,int m) //q(n,m):最大加数n1不大于m的划分个数{if(n<1 || m<1) return 0;if(f[n][m]) return f[n][m];if(n==1 || m==1) return f[n][1]=f[1][m]=1;if(n<m) return f[n][n]=q(n,n);if(n==m) return f[n][m]=q(n,m-1)+1;f[n][m-1]=q(n,m-1);f[n-m][m]=q(n-m,m);return f[n][m-1]+f[n-m][m];}int main(){int n;while(cin>>n){memset(f,0,sizeof(f));cout<<q(n,n)<<endl;}return 0;}
0 0
- 第二章 递归与分治策略
- 第二章 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 分治策略与递归
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 递归与分治策略
- 第2章 递归与分治策略
- 第二章 递归与分治策略(排列的字典序问题)
- 算法--递归与分治策略
- 分治与递归策略_hanio塔问题
- 函数的递归调用与分治策略
- RabbitMQ(六)流量控制 -- basic.qos,prefetch_count
- BIO,NIO,AIO
- J2SE知识点归纳笔记(五)---Java多线程(一)
- OpenCV鼠标交互作图
- hadoop 2.2.0 fuse 编译及安装
- 第二章 递归与分治策略
- ZOJ 3609 Modular Inverse(模拟)
- 微软今中止撑持XP体系 后XP年代带来多少商机
- Cocos2d-x学习(六):cocos2d-x中的模态对话框简单实现
- openfire 安装 和 遇到的一些问题
- 【LeetCode】Remove Duplicates from Sorted List
- Java SE 6 新特性: JMX 与系统管理
- YII AJAX 原理
- 机器智慧能否超越人类?三派专家观点