题解 | #最少的完全平方数#

最少的完全平方数

https://www.nowcoder.com/practice/4b2f5d4c00f44a92845bdad633965c04

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 10010, INF = 0x3f;
int a[N], cnt;
int dp[N], n;
void init()
{
    memset(dp, 0x3f, sizeof dp);
    for(int i = 1; i * i <= n; i ++)
    {
        a[cnt ++] = i * i;
        dp[i * i] = 1;
    }
}
int main() {
    cin >> n;
    init();
    // for(int i = 0; i <= n; i ++) cout << dp[i] << ' ';
    for(int i = 0; i < cnt; i ++)
    {
        int v = a[i];
        for(int j = v; j <= n; j ++)
        {
            dp[j] = min(dp[j], dp[j - v] + 1);
        }
    }
    cout << dp[n];
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求...:注意把武大标粗标大 本地你俩不是乱杀
实习进度记录
点赞 评论 收藏
分享
06-12 16:00
天津大学 Java
牛客30236098...:腾讯坏事做尽,终面挂是最破防的 上次被挂了后我连简历都不刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务