朱星滔 2010-08-30 05:16:00
点我顶贴
收藏
删除
要注意数字不能重复,也就是一个数不能重复选 所以用0,1背包
本人用0,1背包做的
67 分 剩下几组数据超过了QWORD 存不下 应该用高精度就可以存下了
不知道是否正确
var
n,i,j,v:longint;
a,f:array[0..100000] of qword;
begin
readln(n); f[0]:=1;
for i:=1 to n do a[i]:=i;
for i:=1 to n do
for j:=n downto a[i] do
if f[j]<f[j-a[i]]*a[i] then f[j]:=f[j-a[i]]*a[i];
writeln(f[n]);
end.
#1 Mine_ysd@2010-08-30 05:16:00
17171
回复
删除
这....可以是贪心.
http://www.rqnoj.cn/Discuss_Show.asp?DID=6473
希望对你有帮助