关闭

D - Ignatius and the Princess III(DP方法)

141人阅读 评论(0) 收藏 举报
分类:
D - Ignatius and the Princess III
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u

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

4
10
20

Sample Output

5
42
627

FAQ | About | Google Group | Discuss | Author 
All Copyright Reserved ©2010-2016 HUST ACM/ICPC TEAM 
Server Time: 2016-08-29 18:24:34 GMT+8

做法一:

  d[i][j]表示把整数 i 拆成最多 j 个数字所具有的方法数。那么

  if (i >j) d[i][j] = d[i-j][j] + d[i][j-1]; 意思就是如果i>j,那么有两种方式:一种是先把i里面分理处j个1,然后再把i-j拆成最多i-j个数字;另一种是把i拆分成最多j-1个数字。

  if (i < j) d[i][j] = d[i][i]; 意思就是如果i<j,那么这种情况和把数字i最多拆成i个数字的是一样的。

  if (i == j) d[i][j] = d[i][j-1] + 1; 意思就是如果i==j,那么可以把数字i拆分成j-1个数字,也可以把数字i拆分成i个1(这个就是那个1的意义)

   剩下的就是考虑一下边界,比如当 i 或者 j 等于1的时候,显然都是只有一种拆分情况。

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

HDU--杭电--1026--Ignatius and the Princess I--广搜--直接暴力0MS,优先队列的一边站

别人都是广搜+优先队列,我没空临时学,所以就直接自己暴力了 Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)  ...
  • hncu1206401liuhao
  • hncu1206401liuhao
  • 2013-08-03 14:04
  • 1998

杭电 hdu 1026 Ignatius and the Princess I(BFS+优先队列+墨迹人的输出)

Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (...
  • mengxiang000000
  • mengxiang000000
  • 2016-01-19 12:23
  • 1086

Ignatius and the Princess III(母函数版整数拆分)

Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K...
  • baidu_23955875
  • baidu_23955875
  • 2014-12-26 18:30
  • 298

Ignatius and the Princess III(母函数一种技巧性的暴力)

Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K...
  • ZSGG_ACM
  • ZSGG_ACM
  • 2014-08-31 15:41
  • 525

数位dp总结 之 从入门到模板

for(int i=le;i<=ri;i++) if(right(i)) ans++; 基础篇 数位dp是一种计数用的dp,一般就是要统计一个区间[le,ri]内满足一些条件数的个数。...
  • wust_zzwh
  • wust_zzwh
  • 2016-08-03 14:37
  • 16362

HDMI,VGA,DVI,DP,MINI DP,AV等影音设备接口规参数

目录(?)[-] HDMI接口DPDVI接口3苹果系列接口VGA AV模拟信号接口5IEEE 1394接口DB接口音频接口系列USB接口 影音设备的...
  • infiniti888
  • infiniti888
  • 2015-05-04 14:58
  • 1267

买了根mini DP转DVI的数据线

最近跑程序电脑受累了,想给它减减压。于是在笔记本上做其它工作,又不想浪费了大屏幕,于是就有这么一个想法:有一台液晶显示器(具体型号和配置),想买一根数据线将thinkpad T430连接到这台显示器(...
  • arackethis
  • arackethis
  • 2015-03-30 16:40
  • 1638

hdu 1253 胜利大逃亡

胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm...
  • ren_hui
  • ren_hui
  • 2013-07-16 21:20
  • 699

dp入门———列基本的状态和状态方程

1;了解一下DP的基本原理 我们要找到某个状态的最优解,然后在它的帮助下,找到下一个状态的最优解。 入门网站;http://www.360doc.com/content/13/0601/00/80...
  • zw1996
  • zw1996
  • 2016-08-08 20:54
  • 730

ucos iii学习笔记——为什么选择ucos iii

首先我们得先讨论前后台系统和RTOS(Real Time OS)的区别。前后台系统,也即是我们所说的裸机程序,它的结构通常包括一个死循环和若干个中断服务程序,直接上图,我们有一个直观认识: ...
  • lbt111
  • lbt111
  • 2016-09-01 12:24
  • 625
    个人资料
    • 访问:71568次
    • 积分:2536
    • 等级:
    • 排名:第16064名
    • 原创:177篇
    • 转载:48篇
    • 译文:0篇
    • 评论:21条
    最新评论