题目链接

https://www.acwing.com/problem/content/description/902/

思路

对于从[1,n][1,n][1,n]的每一个数我们能做的操作是选或者不选,并且我们在选的过程要从小到大,并且对于每一种数字我们可以选择无穷多个(但是在背包容量范围内,这里的话就是在n范围内),那么这就是一个完全背包计数问题的裸题了,因为状态只有选择或者不选那么不难发现状态转移方程为:f[i][j]=f[i−1][j]+f[i−1][j−k]f[i][j]=f[i-1][j] + f[i-1][j-k]f[i][j]=f[i−1][j]+f[i−1][j−k],这里的k表示我们当前枚举到哪个数字了,滚动数组优化后为:f[j]=f[j]+f[j−i]f[j] = f[j] + f[j-i]f[j]=f[j]+f[j−i],然后初始化的时候我们定义f[0]=1f[0]=1f[0]=1表示的是0这个数能选的方法有1种

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007const int N = 1e3+10;ll f[N],n;int main()
{cin>>n;f[0] = 1;for(ll i = 1;i <= n; ++i)for(ll j = i;j <= n; ++j)f[j] = (f[j] + f[j-i]) % mod;cout<<f[n]<<endl;return 0;
}

AcWing 900. 整数划分(完全背包计数问题)相关推荐

  1. Acwing900. 整数划分[计数类dp]:完全背包解法

    文章目录 题目分析 完全背包解法 题目链接 题目分析 完全背包解法 请复习完全背包模板完全背包dp优化内有完整标准完全背包的推导过程 状态表示: f[i][j]f[i] [j]f[i][j] 表示从 ...

  2. NYOJ-571 整数划分(三)

    此题是个非常经典的题目,这个题目包含了整数划分(一)和整数划分(二)的所有情形,而且还增加了其它的情形,主要是用递归或者说是递推式来解,只要找到了递推式剩下的任务就是找边界条件了,我觉得边界也是非常重 ...

  3. C语言接收一个整数划分成5的倍数,整数划分为连续整数;整数划分

    参考博客:http://www.cnblogs.com/nokiaguy/archive/2008/05/11/1192308.html 1.整数划分为连续整数: 如将15划分为连续整数之和: 15 ...

  4. 51nod 1201:整数划分 超级好的DP题目

    1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} { ...

  5. 算法笔记——整数划分1

    题目来源:NYOJ90 问题描述: 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk, 其中n1≥n2≥-≥nk≥1,k≥1. 正整数n的这种表示称为正整数n的划分.求正整数n的不 同划分个 ...

  6. 4.1 基础-放苹果(整数划分)

    题目 题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. 输入 每个用例包含二个整数M和N.0<=m ...

  7. hdu 5230(整数划分,dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5230 解题思路: 这是一个整数划分的模型: 将n划分为k个整数的划分数 设dp[i][j]为将i划分为 ...

  8. 整数划分递归相关问题

    算法设计----整数划分递归相关问题 一.原问题 整数划分,是指把一个正整数n写成如下形式: 假设整数n,能被划分为i段n=a1+a2+...ai,其中ak为n中划分的最大整数(1<=ak< ...

  9. NYOJ176 整数划分(二)

    整数划分(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 把一个正整数m分成n个正整数的和,有多少种分法? 例:把5分成3个正正数的和,有两种分法: 1 1 3 1 ...

最新文章

  1. 剑指offer:二叉树的深度
  2. C/C++面试题目集锦
  3. 从零开始入门 K8s | K8s 的应用编排与管理
  4. VisualSvn+TortoiseSVN的安装说明
  5. css浮动+应用(瀑布流效果的实现)
  6. Installing ROS 2 on Ubuntu20.04 Linux
  7. Eigen密集矩阵求解 2 - 求解最小二乘系统
  8. Struts+Spring+Hibernate练习(完整)
  9. 干得漂亮!签约“这辈子不可能打工”男子的经纪公司将被拉黑
  10. CentOS 6.8内核版本升级(升级至3.10)(转)
  11. 我的开源项目:TS封装格式分析器
  12. Mac 连不上华为 p9 处理历程(二)
  13. phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护...
  14. IE故障修复之点击无反应
  15. 手机内置摄像头接线图解_1000以下手机哪款好?8款千元以内性价比最高的手机推荐...
  16. 1.1.从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。
  17. Linux权限的理解
  18. cad能整体比例缩小吗_cad怎么把原尺寸图缩小几倍
  19. sd卡tf卡进入spi模式
  20. ping回显请求超时time out故障解决过程

热门文章

  1. python踩坑记录篇,持续更新
  2. NOR Flash的原理与操作
  3. 第三篇 层次类非线性表的编程实验 第9章 应用二叉树的基本概念编程
  4. 吴恩达深度学习笔记 3.1~3.11 浅层神经网络
  5. 在K3凭证处理中的部份实用操作
  6. Delphi 与 DirectX 之 DelphiX(60): TDIB.DoTrace();
  7. 线段树2 求区间最小值
  8. java之正则表达式、日期操作
  9. Elon Mask又搞大事情:新公司要将人脑与机器连接,给大脑上传想法不再是科幻...
  10. OEA中的AutoUI重构(1) - Command自动生成