《P11246 [GESP202409 六级] 小杨和整数拆分》

题目背景

对应的选择、判断题:试题 - GESP 202409 C++ 六级 - 洛谷有题

题目描述

小杨有一个正整数 n,小杨想将它拆分成若干完全平方数的和,同时小杨希望拆分的数量越少越好。

编程计算总和为 n 的完全平方数的最小数量。

输入格式

输入只有一行一个正整数 n。

输出格式

输出一行一个整数表示答案。

输入输出样例

输入 #1复制

复制代码
18

输出 #1复制

复制代码
2

说明/提示

数据规模与约定

对全部的测试数据,保证 1≤n≤105。

代码实现:

cpp 复制代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int MAXN = 100005;
const int INF = 1e9;

int dp[MAXN];

int main()
{
    int n;
    cin >> n;
    for(int i = 1; i <= n; i++) dp[i] = INF;
    dp[0] = 0;
    for(int i = 1; i * i <= n; i++)
    {
        int sq = i * i;
        for(int j = sq; j <= n; j++)
        {
            dp[j] = min(dp[j], dp[j - sq] + 1);
        }
    }
    cout << dp[n] << endl;
    return 0;
}
相关推荐
严肃小白兔1 小时前
第 06/24 期:神经网络的反向传播算法:从链式法则到梯度计算
人工智能·神经网络·算法
落羽的落羽2 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
【心态好不摆烂】2 小时前
数据结构基础精讲3
数据结构·算法
漂流瓶jz3 小时前
UVA-1613 K度图的着色 题解答案代码 算法竞赛入门经典第二版
算法·深度优先·图论·贪心·aoapc·算法竞赛入门经典·uva
Pniubi4 小时前
动态规划入门 ( - 力扣509斐波那契数)
算法·动态规划
吴长建先生重名了5 小时前
GitHub Actions部署报表系统踩坑记:幂等性与限
算法
贝壳6906 小时前
一个2026年2月才上传的库,凭什么敢碰2009年就有人写烂的题目
算法
贝壳6906 小时前
同一道三亿位选型题,三个AI给了我三个答案,我把它们拉进同一台机器复跑
算法
青少儿编程课堂8 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会图形化考级:校园大富翁经营闯关解析
c++·python·算法·bfs·信息学竞赛