再练动态规划——(2)自然数拆分Lunatic版
自然数拆分Lunatic版
题目描述
输入自然数 nnn ,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复。
输入格式
输入只有一个整数 nnn ,表示待拆分的自然数 nnn 。 0<n<=40000<n<=40000<n<=4000
PS:0PS:0PS:0也算自然数,所以这里应该写正整数比较好
但是为了尊重原作者的版权(这有版权吗- -),没有改掉。
输出格式
输出一个数,即所有方案数
因为这个数可能非常大,所以你只要输出这个数 mod/;2147483648mod /;2147483648mod/;2147483648 的余数即可。
Sample Input
7
Sample Output
14
Hint
解释:
输入 777 ,则 777 拆分的结果是
7=1+67=1+67=1+6
7=1+1+57=1+1+57=1+1+5
7=1+1+1+47=1+1+1+47=1+1+1+4
7=1+1+1+1+37=1+1+1+1+37=1+1+1+1+3
7=1+1+1+1+1+27=1+1+1+1+1+27=1+1+1+1+1+2
7=1+1+1+1+1+1+17=1+1+1+1+1+1+17=1+1+1+1+1+1+1
7=1+1+1+2+27=1+1+1+2+27=1+1+1+2+2
7=1+1+2+37=1+1+2+37=1+1+2+3
7=1+2+47=1+2+47=1+2+4
7=1+2+2+27=1+2+2+27=1+2+2+2
7=1+3+37=1+3+37=1+3+3
7=2+57=2+57=2+5
7=2+2+37=2+2+37=2+2+3
7=3+47=3+47=3+4
一共有 141414 种情况,所以输出14mod214748364814\;\; mod \;\;214748364814mod2147483648,即141414
Limitation
各个测试点1s
#include<bits/stdc++.h>
using namespace std;
#define N 50010
long long f[N],n;
int main()
{scanf("%lld",&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])%2147483648ll;cout<<f[n]-1;return 0;
}
裸完全背包的水题一个,但是由于模数比较大不在模数后面加llllll或者uuu的话,会提示
完全背包和010101背包区别在于同一个元素可以多次使用,所以是从小到大的forforfor循环
除此之外和再练动态规划——(1)数字拆分差不多一样的。
再练动态规划——(2)自然数拆分Lunatic版相关推荐
- CH5202 自然数拆分Lunatic版【完全背包】
5202 自然数拆分Lunatic版 0x50「动态规划」例题 描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结 ...
- 【背包dp】自然数拆分Lunatic版
Tyvj 1172 自然数拆分Lunatic版 题意:给定一个自然数n(1<= n <= 4000), 要求把自然数n拆分成n个正整数相加的情况(正整数可以重复出现, 但顺序不同仍视为同一 ...
- TYVJ1172 自然数拆分Lunatic版 - 背包DP[完全背包]
TYVJ1172 自然数拆分Lunatic版 传送门 思路: 类比TYVJ1096 数字组合 , 本题的数字可以重复使用,所以是一个完全背包模型.\(f[i,j]\)表示当前选到第\(i\)类数字凑成 ...
- [JOYOI] 自然数拆分Lunatic版
题目背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强.题目描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复.输入格式 输入只有一个整 ...
- tyvj1172 自然数拆分Lunatic版
背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强. 描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数n ...
- 自然数拆分Lunatic版
第二天叫醒我的不是闹钟,是梦想! 题目描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结果.1≤N≤4000. 输 ...
- 问题 I: 自然数拆分Lunatic版
你的忏悔或许会让你心安,但未必别人如此. 题目描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结果.1≤N≤400 ...
- 自然数拆分 Lunatic版 TYVJ1172(完全背包)
题目: 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式: 输入只有一个整数n,表示待拆分的自然数n. 1<=n<=4000 输出格式: 输出一个数,即 ...
- TVYJ1172 自然数拆分Lunatic版(完全背包问题)
测试地址:链接 题意描述:给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结果.1≤N≤4000. 输入格式: 一个整数 ...
最新文章
- 安装python爬虫scrapy踩过的那些坑和编程外的思考
- 2.2.3 调度算法的评价指标
- pytorch中的CrossEntropyLoss
- Git的commit之后的撤销revert
- 核心概念——节点分组 Group
- Adblock Plus cjxlist 规则说明与反馈贴
- Java面试常考的面试题整理
- Symmetric Tree
- ubuntu16.04安装驱动
- python写的 自定义连点器 的开发全过程(抢票、信息轰炸等、游戏连招等)——思路及解析【内附完整源码】
- 进程之间有哪些通信方式
- 这个是什么错误,求大神解答
- 浏览器清除缓存[chrome、ie]
- 【k8s】kubernetes编写自己的operator(operator-sdk:v1.xxx)
- android 网络 adb,Android设备通过网络adb 调试
- 主wifi旁零距离添加AP路由器
- 导出excel.支持在线打开保存
- 这几个UP主真的是宝藏,快来看看有没有你认识的
- elasticsearch实践之代码结构设计,java银行项目面试题
- Vue3动态引入Element-plus icon图标
热门文章
- C语言--棋盘麦粒问题
- 百度研究院发布2022科技趋势预测,涵盖三大层面、十大领域
- 【转】do{...}while(0)的意义和用法
- 微信小程序——自定义组件
- 基于SqlServer环境下创建触发器、级联更新(删除、修改)
- 清洁机器人APP开发制作步骤
- SPOJ DQUERY - D-query (莫队算法)
- mysql 1433端口映射_常见路由器的1433端口映射讲解
- c语言的浪漫,c语言浪漫情话
- mysql数据库技术与项目李锡辉_《MySQL数据库技术与项目应用教程 李锡辉 ,王樱 9787115474100 人》李锡辉,王樱著【摘要 书评 在线阅读】-苏宁易购图书...