自然数拆分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版相关推荐

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

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

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

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

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

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

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

    题目背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强.题目描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复.输入格式 输入只有一个整 ...

  5. tyvj1172 自然数拆分Lunatic版

    背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强. 描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数n ...

  6. 自然数拆分Lunatic版

    第二天叫醒我的不是闹钟,是梦想! 题目描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结果.1≤N≤4000. 输 ...

  7. 问题 I: 自然数拆分Lunatic版

    你的忏悔或许会让你心安,但未必别人如此. 题目描述 给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结果.1≤N≤400 ...

  8. 自然数拆分 Lunatic版 TYVJ1172(完全背包)

    题目: 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式: 输入只有一个整数n,表示待拆分的自然数n. 1<=n<=4000 输出格式: 输出一个数,即 ...

  9. TVYJ1172 自然数拆分Lunatic版(完全背包问题)

    测试地址:链接 题意描述:给定一个自然数N,要求把N拆分成若干个正整数相加的形式,参与加法运算的数可以重复.求拆分的方案数 mod 2147483648的结果.1≤N≤4000. 输入格式: 一个整数 ...

最新文章

  1. 安装python爬虫scrapy踩过的那些坑和编程外的思考
  2. 2.2.3 调度算法的评价指标
  3. pytorch中的CrossEntropyLoss
  4. Git的commit之后的撤销revert
  5. 核心概念——节点分组 Group
  6. Adblock Plus cjxlist 规则说明与反馈贴
  7. Java面试常考的面试题整理
  8. Symmetric Tree
  9. ubuntu16.04安装驱动
  10. python写的 自定义连点器 的开发全过程(抢票、信息轰炸等、游戏连招等)——思路及解析【内附完整源码】
  11. 进程之间有哪些通信方式
  12. 这个是什么错误,求大神解答
  13. 浏览器清除缓存[chrome、ie]
  14. 【k8s】kubernetes编写自己的operator(operator-sdk:v1.xxx)
  15. android 网络 adb,Android设备通过网络adb 调试
  16. 主wifi旁零距离添加AP路由器
  17. 导出excel.支持在线打开保存
  18. 这几个UP主真的是宝藏,快来看看有没有你认识的
  19. elasticsearch实践之代码结构设计,java银行项目面试题
  20. Vue3动态引入Element-plus icon图标

热门文章

  1. C语言--棋盘麦粒问题
  2. 百度研究院发布2022科技趋势预测,涵盖三大层面、十大领域
  3. 【转】do{...}while(0)的意义和用法
  4. 微信小程序——自定义组件
  5. 基于SqlServer环境下创建触发器、级联更新(删除、修改)
  6. 清洁机器人APP开发制作步骤
  7. SPOJ DQUERY - D-query (莫队算法)
  8. mysql 1433端口映射_常见路由器的1433端口映射讲解
  9. c语言的浪漫,c语言浪漫情话
  10. mysql数据库技术与项目李锡辉_《MySQL数据库技术与项目应用教程 李锡辉 ,王樱 9787115474100 人》李锡辉,王樱著【摘要 书评 在线阅读】-苏宁易购图书...