算法竞赛进阶指南,278页,完全背包

本题要点:
1、把完全背包的代码改改即可。常规的完全背包:
有n个物品,每个物品的体积是v[i], 价值是w[i], 求装到大小为m的大背包,能获得的最大价值(每个物品可以选任意多次)。
f[j]表示到小为i的背包,最多能获得的最大价值
f[j] = max(f[j], f[j - v[i]] + w[i]); // j从小到大扫描
2、题目意思转换:
有n个物品,每个物品的体积是v[i], 价值是1, 求装到大小为m的大背包,一共有多少种装法。
f[j]表示到小为i的背包, 一共有多少种装法:
f[j] = f[j] + f[j - v[i]]; //不装第i个物品,装第i个物品

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int MaxN = 4010;
int v[MaxN], w[MaxN];
int n;
long long f[MaxN];  //f[j]表示到小为i的背包, 一共有多少种装法装满
long long mod = 2147483648;void solve()
{memset(f, 0, sizeof f);f[0] = 1;for(int i = 1; i <= n; ++i){for(int j = v[i]; j <= n; ++j){f[j] = (f[j] + f[j - v[i]]) % mod;}}printf("%lld\n", f[n] - 1);
}int main()
{scanf("%d", &n);for(int i = 1; i <= n; ++i){v[i] = i, w[i] = 1;}solve();return 0;
}/*
7
*//*
14
*/

CH5202 自然数拆分Lunatic版(算法竞赛进阶指南,完全背包)相关推荐

  1. CH5202 自然数拆分Lunatic版【完全背包】

    5202 自然数拆分Lunatic版 0x50「动态规划」例题 描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结 ...

  2. 【算法竞赛进阶指南】CH5202 自然数拆分Lunatic版 完全背包

    给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复. 求拆分的方案数 mod 2147483648的结果. 输入格式 一个自然数N. 输出格式 输入一个整数,表示结果. ...

  3. 【题解】CH5202 自然数拆分Lunatic版 完全背包

    题目链接 描述 给定一个自然数 NNN,要求把 NNN 拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod  2147483648\mod 2147483648mod214 ...

  4. [CH5202]自然数拆分Lunatic版

    题面描述 传送门 思路 好题,适宜考前看. 仔细分析题意,实际上就是一道完全背包,111~NNN这NNN个自然数构成NNN种物品,每种物品都可以使用无数次,背包容积也是NNN. AC code #in ...

  5. 再练动态规划——(2)自然数拆分Lunatic版

    自然数拆分Lunatic版 题目描述 输入自然数 nnn ,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数 nnn ,表示待拆分的自然数 nnn . 0< ...

  6. 【背包dp】自然数拆分Lunatic版

    Tyvj 1172 自然数拆分Lunatic版 题意:给定一个自然数n(1<= n <= 4000), 要求把自然数n拆分成n个正整数相加的情况(正整数可以重复出现, 但顺序不同仍视为同一 ...

  7. TYVJ1172 自然数拆分Lunatic版 - 背包DP[完全背包]

    TYVJ1172 自然数拆分Lunatic版 传送门 思路: 类比TYVJ1096 数字组合 , 本题的数字可以重复使用,所以是一个完全背包模型.\(f[i,j]\)表示当前选到第\(i\)类数字凑成 ...

  8. 《算法竞赛进阶指南》打卡-基本算法-AcWing 93. 递归实现组合型枚举:递归与递推、dfs、状态压缩

    文章目录 题目解答 题目链接 题目解答 分析: 此题和笔者另一篇博文很像,只不过是限定了个数.<算法竞赛进阶指南>打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归.二进 ...

  9. 《算法竞赛进阶指南》数论篇

    <算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSGS <算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSG ...

最新文章

  1. 客快物流大数据项目(六):Docker与虚拟机的形象比喻及组件介绍
  2. 《HiWind企业快速开发框架实战》(0)目录及框架简介
  3. 计算机分组教学,中职计算机教学分组协作式学习论文
  4. ii 组合总和_40. 组合总和 II – 力扣(LeetCode)
  5. 重学java基础第二十二课:IDEA安装
  6. 2016年1月29日报
  7. cake 简单思维题
  8. Linux chapter 6
  9. 193.有效电话号码
  10. amos调节变量怎么画_结构方程模型建模思路及Amos操作--调节变量效果确定(二)(还是满满都是骚操作)...
  11. vcs与quartus联合仿真
  12. displaytag用法一
  13. 宣传片后期制作的要点介绍
  14. VOT 数据集下载toolkit
  15. 怎么解决运行时输入错误,请重新输入以及专业无法输入的问题
  16. swiper滑到最后一页交互
  17. 百度网盘使用浏览器下载大文件,无需跳转客户端
  18. 信息流广告的核心是什么(信息流推广的核心操作和优化思路)
  19. 编译原理 SysY语言的词法分析程序
  20. 服务器1u2u性能,服务器1u2u区别

热门文章

  1. IP地址的三种表示方式是什么
  2. matlab f检验 f值,如何用matlab进行F检验
  3. css3 三角形_用尺规作直线同时平分三角形面积和周长
  4. 数据库系统原理-课程目标
  5. hashmap与concurrenthashmap源码解析
  6. 编程php计算行李托运费_登机英语:行李托运、行李超重和超重费英文表达
  7. html中dt标签,html中dt标签的使用方法
  8. #记录 配对交易学习
  9. 微信公众号使用Emoji表情
  10. docker canal-server canal-adapter mysql