回帖:我的算法是把每个数存在一个数组中。
坐标表示值,数组的值表示这个术的出现次数(规模=200,存放在a中)
随后再从大往小搜一遍,算法如下:
for i:=n downto 1 do
begin
for j:=w-n downto 1 do
begin
if a>a then f:=a else f:=a;
if j=i then f:=a div 2;
a:=a-f;
a:=a-f;
s:=s+f;{s表示最少分组数}
end;
s:=s+a;
end;
此程序可以优化,但一优化就有点乱(考试时是优化的),就算如此时间最大复杂度仅为200*200=40000,很小。优化后,平均最大复杂度

