CH5202 自然数拆分Lunatic版(算法竞赛进阶指南,完全背包)
算法竞赛进阶指南,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版(算法竞赛进阶指南,完全背包)相关推荐
- CH5202 自然数拆分Lunatic版【完全背包】
5202 自然数拆分Lunatic版 0x50「动态规划」例题 描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结 ...
- 【算法竞赛进阶指南】CH5202 自然数拆分Lunatic版 完全背包
给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复. 求拆分的方案数 mod 2147483648的结果. 输入格式 一个自然数N. 输出格式 输入一个整数,表示结果. ...
- 【题解】CH5202 自然数拆分Lunatic版 完全背包
题目链接 描述 给定一个自然数 NNN,要求把 NNN 拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648\mod 2147483648mod214 ...
- [CH5202]自然数拆分Lunatic版
题面描述 传送门 思路 好题,适宜考前看. 仔细分析题意,实际上就是一道完全背包,111~NNN这NNN个自然数构成NNN种物品,每种物品都可以使用无数次,背包容积也是NNN. AC code #in ...
- 再练动态规划——(2)自然数拆分Lunatic版
自然数拆分Lunatic版 题目描述 输入自然数 nnn ,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数 nnn ,表示待拆分的自然数 nnn . 0< ...
- 【背包dp】自然数拆分Lunatic版
Tyvj 1172 自然数拆分Lunatic版 题意:给定一个自然数n(1<= n <= 4000), 要求把自然数n拆分成n个正整数相加的情况(正整数可以重复出现, 但顺序不同仍视为同一 ...
- TYVJ1172 自然数拆分Lunatic版 - 背包DP[完全背包]
TYVJ1172 自然数拆分Lunatic版 传送门 思路: 类比TYVJ1096 数字组合 , 本题的数字可以重复使用,所以是一个完全背包模型.\(f[i,j]\)表示当前选到第\(i\)类数字凑成 ...
- 《算法竞赛进阶指南》打卡-基本算法-AcWing 93. 递归实现组合型枚举:递归与递推、dfs、状态压缩
文章目录 题目解答 题目链接 题目解答 分析: 此题和笔者另一篇博文很像,只不过是限定了个数.<算法竞赛进阶指南>打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归.二进 ...
- 《算法竞赛进阶指南》数论篇
<算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSGS <算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSG ...
最新文章
- 客快物流大数据项目(六):Docker与虚拟机的形象比喻及组件介绍
- 《HiWind企业快速开发框架实战》(0)目录及框架简介
- 计算机分组教学,中职计算机教学分组协作式学习论文
- ii 组合总和_40. 组合总和 II – 力扣(LeetCode)
- 重学java基础第二十二课:IDEA安装
- 2016年1月29日报
- cake 简单思维题
- Linux chapter 6
- 193.有效电话号码
- amos调节变量怎么画_结构方程模型建模思路及Amos操作--调节变量效果确定(二)(还是满满都是骚操作)...
- vcs与quartus联合仿真
- displaytag用法一
- 宣传片后期制作的要点介绍
- VOT 数据集下载toolkit
- 怎么解决运行时输入错误,请重新输入以及专业无法输入的问题
- swiper滑到最后一页交互
- 百度网盘使用浏览器下载大文件,无需跳转客户端
- 信息流广告的核心是什么(信息流推广的核心操作和优化思路)
- 编译原理 SysY语言的词法分析程序
- 服务器1u2u性能,服务器1u2u区别