博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1028Ignatius and the Princess III(dp)
阅读量:4049 次
发布时间:2019-05-25

本文共 1800 字,大约阅读时间需要 6 分钟。

Ignatius and the Princess III

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 17804    Accepted Submission(s): 12482


Problem Description
"Well, it seems the first problem is too easy. I will let you know how foolish you are later." feng5166 says.
"The second problem is, given an positive integer N, we define an equation like this:
  N=a[1]+a[2]+a[3]+...+a[m];
  a[i]>0,1<=m<=N;
My question is how many different equations you can find for a given N.
For example, assume N is 4, we can find:
  4 = 4;
  4 = 3 + 1;
  4 = 2 + 2;
  4 = 2 + 1 + 1;
  4 = 1 + 1 + 1 + 1;
so the result is 5 when N is 4. Note that "4 = 3 + 1" and "4 = 1 + 3" is the same in this problem. Now, you do it!"
 

Input
The input contains several test cases. Each test case contains a positive integer N(1<=N<=120) which is mentioned above. The input is terminated by the end of file.
 

Output
For each test case, you have to output a line contains an integer P which indicate the different equations you have found.
 

Sample Input
41020
 

Sample Output
542627
 

Author
Ignatius.L
i的变化有n种可能性  dp数组把各种可能性累加  j是i的变化情况
#include
#include
#include
using namespace std;int dp[1000];int main(){ int i,j,k,u,n,m; while(cin>>n) { memset(dp,0,sizeof(dp)); dp[0]=1; for(i=1;i<=n;i++) { for(j=i;j<=150;j++) { dp[j]+=dp[j-i]; } } cout<
<
第二张方法可以用母函数   基本就是套模板了
#include
#include
using namespace std;const int _max=10001;int c1[_max],c2[_max];int main() { int nNUM; int i,j,k; while(cin>>nNUM) { for(i=0;i<=nNUM;i++) { c1[i]=1; c2[i]=0; } for(i=2;i<=nNUM;i++) { for(j=0;j<=nNUM;j++) { for(k=0;k+j<=nNUM;k+=i) { c2[k+j]+=c1[j]; } } for(j=0;j<=nNUM;j++) { c1[j]=c2[j]; c2[j]=0; } } cout<
<

转载地址:http://rtfci.baihongyu.com/

你可能感兴趣的文章
Java中GUI编程总结—AWT中的Frame容器、panel面板、布局管理
查看>>
剑指offer12.矩阵中的路径—DFS+剪枝
查看>>
Java中GUI编程总结—事件监听、TextField监听、画笔、(鼠标、窗口、键盘)监听
查看>>
Java中GUI编程总结—Swing(窗口、面板、弹窗、标签、按钮、列表、文本框)
查看>>
Java中map容器分别根据键key和值value进行排序的总结
查看>>
剑指offer面试题16. 数值的整数次方——快速幂
查看>>
剑指 Offer 39. 数组中出现次数超过一半的数字——摩尔投票法
查看>>
python中SQLite3 数据库语句使用总结——增删改查
查看>>
Java网络编程总结
查看>>
leetcode 477. 汉明距离总和——超出时间限制
查看>>
基于SSM校园二手交易市场系统——课程设计(毕业设计)
查看>>
leetcode 1882.使用服务器处理任务——优先队列
查看>>
leetcode 523.连续的子数组的和——前缀和+哈希表
查看>>
Java中的set的toArray()转成的数组如何进行接收
查看>>
剑指offer 43 1~n整数中1出现的次数
查看>>
基于SSM的图书馆管理系统——计算机类专业课程设计(毕业设计)
查看>>
leetcode 1239. 串联字符串的最大长度——回溯+位运算
查看>>
基于SSH在线考试系统(计算机专业认证考试)——计算机类专业课程设计(毕业设计)
查看>>
Springboot的仓库管理系统——计算机类专业课程设计(毕业设计)
查看>>
刷新页面实现方式总结(HTML,ASP,JS)
查看>>