51nod 1201 整数划分 基础DP
输入1个数N(1 <= N <= 50000)。
输出划分的数量Mod 10^9 + 7。
6
4
dp[i][j] 数i 可以有j个不同的数组合的方案数
dp[i][j] = dp[i-j][j] + dp[i-j][j-1]
将i 划分为 j个数,然后j个数都-1
(由于题目限定,n只能由不同的数构成的,所以j个数里面最多有一个1)
前者表示,之前的j个数没有1的存在,所以都-1以后还是j个数
后者表示 ,之前的j个数有1的存在,所以-1以后剩下j-1个数
n最多可以被m个数构成,那么发现最大的m 即
1 + 2 + ... + m = n , (1 + m)*m = n * 2,j只要遍历sqrt(n * 2)个就好了。所以复杂度为n*sqrt(n*2)
51nod 1201 整数划分 基础DP的更多相关文章
- 51Nod 1201 整数划分 (经典dp)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201 题意不多说了. dp[i][j]表示i这个数划分成j个数 ...
- 51nod 1201 整数划分 dp
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 收藏 关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2 ...
- 51nod 1201 整数划分
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201 DP转移方程:dp[i][j] = dp[i-j][j]+dp[i ...
- 51nod p1201 整数划分
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2, ...
- 【51NOD】1201 整数划分
[题意]将n划分成不同正整数的和的方案数. [算法]动态规划 [题解] 暴力:f[i][j]:只用前1..i的数字,总和为j的方案数 本质上是01背包,前i个物体,总质量为j的方案数 f[i][j]= ...
- 整数划分——区间dp(石子合并)
这不是将一个数以一来划分,而是把一个整数以位来划分 题目描述 如何把一个正整数N(N长度<20)划分为M(M>1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式 ...
- SDUT3146:Integer division 2(整数划分区间dp)
题目:传送门 题目描述 This is a very simple problem, just like previous one. You are given a postive integer n ...
- HDU1294 Rooted Trees Problem(整数划分 组合数学 DP)
讲解见http://www.cnblogs.com/IMGavin/p/5621370.html, 4 可重组合 dfs枚举子树的节点个数,相乘再累加 1 #include<iostream& ...
- 51nod 1201:整数划分 超级好的DP题目
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} { ...
随机推荐
- vertx读取配置文件,获得端口号
1:在src/conf目录下创建conf.json { } 2:创建Verticle, config().getInteger("http.port", 8080),将会读取配置文 ...
- 安装selenium python
https://pypi.org/project/selenium/#files selenium-3.13.0-py2.py3-none-any.whl 安装成功后才能用 from selenium ...
- http接口自动化测试框架实现
一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 eg:http://xxx.com/xxx_product/test/conten ...
- Javascript-涨工资案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Promise学习探究
学习熟知吧,原理还是继续吧 例子1: var isGeted; function getRet(){ return new Promise(function(resolve, reject) { // ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON SetComprise1
zw版[转发·台湾nvp系列Delphi例程]HALCON SetComprise1 procedure TForm1.Button1Click(Sender: TObject);var image0 ...
- Object-C-Foundation-NSDate
NSDate 表达日期表达时间的方法 NSDate *now=[NSDate date]; 获得当前日期 NSDate *tomrrow=[now dateByAddingTimeInterval:2 ...
- 最近整理出了有关大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互等1.7G的学习资料,有视频教程,源码,课件,工具,面试题等等。这里将珍藏多年的资源免费分享给各位小伙伴们
大数据,微服务,分布式,Java,Python,Web前端,产品运营,交互 领取方式在篇尾!!! 基础篇.互联网架构,高级程序员必备视频,Linux系统.JVM.大型分布式电商项目实战视频...... ...
- 20145316许心远《网络对抗》MSF基础应用
20145316许心远<网络对抗>MSF基础应用 实验后回答问题 用自己的话解释什么是exploit,payload,encode. exploit:顾名思义就是攻击嘛,因为是个动词,所以 ...
- AtCoder Beginner Contest 086 D - Checker
Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement AtCoDeer is thinking o ...