整数划分(计数类DP)
题目
一个正整数 n 可以表示成若干个正整数之和,形如:n=n1+n2+…+nk,其中 n1≥n2≥…≥nk,k≥1。
我们将这样的一种表示称为正整数 n 的一种划分。
现在给定一个正整数 n,请你求出 n 共有多少种不同的划分方法。
输入格式
共一行,包含一个整数 n。
输出格式
共一行,包含一个整数,表示总划分数量。
由于答案可能很大,输出结果请对 109+7 取模。
数据范围
1≤n≤1000
输入样例:
5
输出样例:
7
解法1
代码
#include<iostream>using namespace std;const int N = 1010, mod = 1e9 + 7;
int f[N];int main()
{int n;cin >> n;f[0] = 1; for(int i = 1; i <= n; i ++)//i 相当于物品 for(int j = i; j <= n; j ++)// j 相当于背包 f[j] = (f[j] + f[j - i]) % mod;cout << f[n];return 0;
}
解法2
代码
#include<iostream>using namespace std;const int N = 1010, mod = 1e9 + 7;
int f[N][N];int main()
{int n;cin >> n;//将i重量的物品分到j个物品中 f[0][0] = 1;for(int i = 1; i <= n; i ++)for(int j = 1; j <= i; j ++)f[i][j] = (f[i - 1][j - 1] + f[i - j][j]) % mod;int res = 0; for(int i = 1; i <= n; i ++) res = (res + f[n][i]) % mod;cout << res;return 0;
}
整数划分(计数类DP)相关推荐
- Acwing900. 整数划分[计数类dp]:完全背包解法
文章目录 题目分析 完全背包解法 题目链接 题目分析 完全背包解法 请复习完全背包模板完全背包dp优化内有完整标准完全背包的推导过程 状态表示: f[i][j]f[i] [j]f[i][j] 表示从 ...
- 数数题(计数类 DP)做题记录
数数题(计数类 DP)做题记录 CF1657E Star MST 我们称张无向完全图是美丽的当且仅当:所有和 \(1\) 相连的边的边权之和等于这张完全图的最小生成树的边权之和. 完全图点数为 \(n ...
- CF559C-Gerald and Giant Chess【计数类dp】
正题 上不了Codeforces,就用洛谷了 评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=CF559C 题目大意 H∗WH ...
- POJ - 1737 Connected Graph,Java(计数类DP)
POJ - 1737 Connected Graph C++高精太难写了,直接用Java的大整数会方便一点 常规方法 import java.io.*; import java.math.BigInt ...
- HDU--4248、A Famous Stone Collector (计数类dp)
题目链接 题面: 题意: 有 nnn 种颜色的石子,第 iii 种颜色的石子有 aia_iai 个. 我现在要从里面选出若干个石子排成一排,问有多少种不同的序列. 两个序列不同当且仅当长度不同或者至 ...
- hdu 5230(整数划分,dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5230 解题思路: 这是一个整数划分的模型: 将n划分为k个整数的划分数 设dp[i][j]为将i划分为 ...
- 51nod 1201:整数划分 超级好的DP题目
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 收藏 关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} { ...
- NYOJ90 整数划分(经典递归和dp)
整数划分 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk, 其中n1≥n2≥-≥nk≥1,k≥1. 正整数 ...
- 大概是:整数划分||DP||母函数||递推
整数划分问题 整数划分是一个经典的问题. Input 每组输入是两个整数n和k.(1 <= n <= 50, 1 <= k <= n) Output 对于每组输入,请输出六行. ...
最新文章
- 在Vmware中安装Hyper-V
- 线上CPU100%?看看这篇是怎么排查的。
- wireshark协议解析器原理与插件编写
- QLibrary Class Reference(qt加载外部库)
- ubuntu 下安装java6的源
- Android开源项目--分类汇总
- python打印日历代码_带tkinter的日历(打印所选日期)
- 【DFS + 记忆化递归 + DP】LeetCode 91. Decode Ways
- 毫米波雷达信号处理系统
- win10的计算机 桌面图标不见了怎么办,教你win10桌面我的电脑图标不见了怎么办...
- pandas对索引列index重新整理顺序
- Unity实现3D模式下的摄像机视角控制
- 各种浏览器兼容性报告大全
- 知识科普:5G是什么
- 基于深度学习的图标型验证码识别系统(包含完整代码、界面)
- Mysql 内置函数大全
- 刘磨叽恶狠狠地瞪了了张s
- 二分查找发(对半查找法)
- python 3标准库道格_《PYTHON 3标准库 [美] 道格·赫尔曼》[美] 道格·赫尔曼(Doug Hellmann)著【摘要 书评 在线阅读】-苏宁易购图书...
- A股市场机器学习多因子模型实证
热门文章
- 上传多张图片的html表单,element在form表单里上传多张张图片
- multisim数字逻辑课程设计
- [贝聊科技]谈谈 iOS 如何动态切换 APP 的主题
- 苹果手机app mitmdump无法抓包
- linux 安装svn服务端
- 三囊饮是什么,真的能治疗囊肿吗?
- Linux下Desktop文件入门,解析Deepin Linux系统中的Desktop文件,附实例讲解
- 传奇服务器验证失败怎么回事,绝地求生从外部提供商处验证失败原因及解决方法推荐...
- 2014年10月26完美世界校招java中的两道java题
- 面试时唬人的3个Excel技巧,最后一个能把主考官目瞪口呆