1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

这个问题可以转化为一个动态规划问题。与完全背包问题不同,完全背包中每个物品可以选多次,而本题中每个数字只能选一次(因为要求严格递减),因此更类似于01背包问题。

动态规划方法

定义dp[i][j]表示使用前i个数字(1到i)组成和为j的方案数。状态转移方程为:

  • 如果不选数字i,则方案数为dp[i-1][j]
  • 如果选数字i,则方案数为dp[i-1][j-i](因为每个数字只能选一次)
  • 因此dp[i][j] = dp[i-1][j] + dp[i-1][j-i]

P3627.【动态规划8】整数划分(01背包基础题)

    1000ms Tried: 827 Accepted: 321 Difficulty: 5
    算法与标签>动态规划

题目描述:

一个正整数 n 可以表示成若干个正整数之和,形如:n = n1 + n2 + … + nk,其中 n1 > n2 > … > nk, k ≥ 1。

我们将这样的一种表示称为正整数 n 的一种划分。

现在给定一个正整数 n,请你求出 n 共有多少种不同的划分方法。

输入

共一行,包含一个整数nnn。

输出

共一行,包含一个整数,表示总划分数量。 由于答案可能很大,输出结果请对109+710^9+7109+7取模。

示例1

输入:

4

输出:

2

提示

示例111一共2种:

444

3+13+13+1

示例2

输入:

6

输出:

4

提示

示例222一共4种:

666

5+15+15+1

4+24+24+2

3+2+13+2+13+2+1

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 34ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?