【题解】CH5202 自然数拆分Lunatic版 完全背包
题目链接
描述
给定一个自然数 NNN,要求把 NNN 拆分成若干个正整数相加的形式,参与加法运算的数可以重复。求拆分的方案数 mod  2147483648\mod 2147483648mod2147483648 的结果。1≤N≤40001≤N≤40001≤N≤4000 。
输入格式
一个整数 nnn 。
输出格式
输出一个数,即所有方案数
因为这个数可能非常大,所以你只要输出这个数 mod  2147483648\mod 2147483648mod2147483648 的余数即可。
样例输入
7
样例输出
14
样例解释
输入7,则7拆分的结果是
7=1+6
7=1+1+5
7=1+1+1+4
7=1+1+1+1+3
7=1+1+1+1+1+2
7=1+1+1+1+1+1+1
7=1+1+1+2+2
7=1+1+2+3
7=1+2+4
7=1+2+2+2
7=1+3+3
7=2+5
7=2+2+3
7=3+4
一共有 141414 种情况,所以输出 14mod  214748364814 \mod 214748364814mod2147483648,即 141414 。
完全背包
#include<cstdio>
typedef long long ll;
ll mod=2147483648;
ll f[4010];
int main()
{int n;scanf("%d",&n);f[0]=1;for(int i=1;i<=n;i++)for(int j=i;j<=n;j++)f[j]=(f[j]+f[j-i])%mod;printf("%lld\n",(f[n]-1+mod)%mod);return 0;
}
总结
无
【题解】CH5202 自然数拆分Lunatic版 完全背包相关推荐
- 【算法竞赛进阶指南】CH5202 自然数拆分Lunatic版 完全背包
给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复. 求拆分的方案数 mod 2147483648的结果. 输入格式 一个自然数N. 输出格式 输入一个整数,表示结果. ...
- CH5202 自然数拆分Lunatic版【完全背包】
5202 自然数拆分Lunatic版 0x50「动态规划」例题 描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结 ...
- CH5202 自然数拆分Lunatic版(算法竞赛进阶指南,完全背包)
算法竞赛进阶指南,278页,完全背包 本题要点: 1.把完全背包的代码改改即可.常规的完全背包: 有n个物品,每个物品的体积是v[i], 价值是w[i], 求装到大小为m的大背包,能获得的最大价值(每 ...
- [CH5202]自然数拆分Lunatic版
题面描述 传送门 思路 好题,适宜考前看. 仔细分析题意,实际上就是一道完全背包,111~NNN这NNN个自然数构成NNN种物品,每种物品都可以使用无数次,背包容积也是NNN. AC code #in ...
- 【背包dp】自然数拆分Lunatic版
Tyvj 1172 自然数拆分Lunatic版 题意:给定一个自然数n(1<= n <= 4000), 要求把自然数n拆分成n个正整数相加的情况(正整数可以重复出现, 但顺序不同仍视为同一 ...
- TYVJ1172 自然数拆分Lunatic版 - 背包DP[完全背包]
TYVJ1172 自然数拆分Lunatic版 传送门 思路: 类比TYVJ1096 数字组合 , 本题的数字可以重复使用,所以是一个完全背包模型.\(f[i,j]\)表示当前选到第\(i\)类数字凑成 ...
- 再练动态规划——(2)自然数拆分Lunatic版
自然数拆分Lunatic版 题目描述 输入自然数 nnn ,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数 nnn ,表示待拆分的自然数 nnn . 0< ...
- [JOYOI] 自然数拆分Lunatic版
题目背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强.题目描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复.输入格式 输入只有一个整 ...
- tyvj1172 自然数拆分Lunatic版
背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强. 描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数n ...
最新文章
- 第四章 DOM节点操作
- 【小练习05】HTML+CSS--淘宝商铺小页面
- [VMM 2008虚拟化之初体验-2] 界面功能介绍
- 全志 修改KEY Patch
- 配置lamp+supervisor
- android自动关闭uvc相机服务,android 调用系统相机崩溃的解决方案
- GNU ARM汇编伪操作(Directives) 命令集
- ggplot2 | 如何对连续型变量使用离散型调色板进行配色
- 使用MITab操作MapInfo地图文件
- CentOS7.0设置中文输入法
- YAML和JSON对比
- linux 终端tty的含义,终端、控制台、tty、shell等区别与概念初辨析
- java8 stream中Comparator.comparing排序
- caffe的使用方法
- 怎么安装aptdaemon模块_安装Pulseaudio模块在Ubuntu中开启蓝牙APTX/LDAC支持
- IaaS PaaS SaaS 读音及含义
- Unreal Engin_画廊制作笔记 _006灯光处理,静态灯光的设置
- VS2017 注释快捷键修改
- 关键词提取(三种免费工具)
- 计算机组装与维护褚建立答案,计算机组装与维护_课程标准