随笔分类 -  专题--DP

摘要:poj3046 题意:有n种数a个,求分成s份到b份总共有多少种分法 分析:dp[i+1][j]表示从前i个物品中取出j个共有多少种取法,则前i-1中必然取出的是j-k个,(0<=k<=min(j,vis[i])),所以 dp[i+1][j]=Σdp[i][j-k]=Σdp[i][j-1-k]+dp 阅读全文
posted @ 2016-04-22 13:00 wolf940509 阅读(137) 评论(0) 推荐(0)
摘要:poj1742 题意:有n种物体,每种有ci个,权值为ai,问能组成1到m之间的多少个数 分析:楼教主著名的“男人八题”中的一题,很经典的dp问题,参照《挑战程序设计》上的多重部分和问题,定义bool型的dp[i+1][j],表示前i个数能否得到j,于是就有前i-1个数得到j-k*a[i](0<=k 阅读全文
posted @ 2016-04-21 21:45 wolf940509 阅读(434) 评论(0) 推荐(0)
摘要:poj3616 题意:奶牛在1到n时间段内产奶,总共有m个产奶区间,买个区间有开始时间和结束时间,还有产奶量,同时每次产完奶需要休息一定的时间,求最大产奶量 分析:比较简单的dp,有点像最长上升子序列的变种,把产奶时间按开始时间排序,对于开始时间大于前面结束时间的点,求其最大的产奶量 1 #incl 阅读全文
posted @ 2016-04-12 15:15 wolf940509 阅读(144) 评论(0) 推荐(0)
摘要:poj2229 题意:给定一个数,把它拆分成2的n次幂相加的形式,问有多少种方法,结果取后9位 分析:这道题目很有意思,可以把一个数i分成奇数和偶数的情况来讨论,当i是奇数时,i拆分以后的个数与i-1是一样的,而当i是偶数时,相当于将i-1加上一个1以后同时可以把两个1为一组进行合并,故为i-1与i 阅读全文
posted @ 2016-04-03 18:22 wolf940509 阅读(165) 评论(0) 推荐(0)