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 video solution 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]

P3636.整数划分(01背包基础题)

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

题目描述:

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

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

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

输入

共一行,包含一个整数nnn。1<=n<=5001<=n<=5001<=n<=500

输出

共一行,包含一个整数,表示总划分数量。

示例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

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

登录后即可使用 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 0, 29ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?