测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70758. 自然数的拆分方案总数

编程题 基础

题目描述

给定一个自然数 N ,要求把 N 拆分成若干个正整数相加的形式,参与加法运算的数可以重复。

注意:

  1. 拆分方案不考虑顺序,也就是 3=1+23=2+1 算作相同的方案;
  2. 至少拆分成 2 个数的和。
  3. 求拆分的方案数 \mod 2147483648 的结果。

输入格式

一个自然数 N。(1≤N≤4000

输出格式

输入一个整数,表示结果。

输入输出样例

输入 #1
7
输出 #1
14

说明/提示

## 思路

背包 DP:状态为容量(及物品),转移为选或不选当前物品。

## 步骤

1. 读入容量与物品体积/价值。
2. 按 01 或完全背包的循环顺序填 dp。
3. 输出最大价值或方案数。