问题标题: 酷町堂:1105 礼尚往来

0
0
已解决
程之行
程之行
高级守护
高级守护

聪聪可被明明出的题目难倒了好一会,不过,经过一番思考,聪聪还是把它解决了。作为回报,聪聪也给明明出了一个问题:平方数,或称完全平方数,是指可以写成某个整数的平方的数,即其平方根为整数的数。例如,9 = 3 × 3,它是一个平方数。聪聪很早就发现4=2×2,9=3×3……。而2不可能分解为两个整数的乘积,但可以分解为1×1+1×1。聪聪曾经遇到过对于任意给定的正整数n把它分解成几个自然数的和的问题,在了解了平方数的知识后,聪聪想知道在所有拆分方案中,满足所有加数都是平方数的方案有多少?

大佬们怎么写


0
已采纳
张曈
张曈
高级守护
高级守护

这是一道完全背包,以下是核心

for(int i=1;i*i<=n;i++)
        for(int j=i*i;j<=n;j++)
            f[j]=max(f[j],f[j-i*i]+i*i);

你还需要一个状态数组进行计数,就不详细说明了

1
0
0
潘孝宇
潘孝宇
初级光能
初级光能

测试点18帮你看了一眼:

输入134

输出3880

只能告诉你这么多了。

0
曹芊一
曹芊一
初级守护
初级守护

这道题我也不会呢。对不起,没能帮到你。

0
0
我要回答