社区讨论

关于CSP-X题目

学术版参与者 20已保存回复 59

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
57 条
当前快照
1 份
快照标识符
@mjf1b0yi
此快照首次捕获于
2025/12/21 09:14
2 个月前
此快照最后确认于
2025/12/23 15:25
2 个月前
查看原帖
这里说的是 JX 的题目,个人评级:红红红?
T1 到 T3 非常简单,可是 T4 全场无人做对。
T4 题目大意:给定一个正整数 nn,要求将 nn 分解为 kk 个整数的平方之和的形式,求这个最小的 kk
数据范围:n105n\le10^5
同学们的主要做法有两种:
  1. 暴力 DP,复杂度 nnn\sqrt{n},获得了 80pts。核心代码:
CPP
for (int i = 1; i <= n; i++) {
    for (int j = 1; j * j <= i; j++) {
        f[i] = min (f[i], f[i - j * j] + 1);
    }
}
  1. 错误贪心,复杂度很小,获得了 70pts。核心代码:
CPP
while (n) {
    int x = sqrt (n);
    n -= x;
    ans++;
}
据说题目是请 mx 出的。
求问此题正解。
小学生不才,求问正解。其实教练不让我发的这个帖子的。

回复

59 条回复,欢迎继续交流。

正在加载回复...