| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
常数卡的飞起 OTTTTTZ{$OPTIMIZATION ON}
program poj1742;
const maxn=117;
maxm=100017;
var f:array[0..maxm] of boolean;
t:array[0..maxm] of longint;
v,c:array[0..maxn] of longint;
n,m:longint;
function init:boolean;
var i:longint;
begin
readln(n,m); if (n=0)and(m=0) then exit(false);
for i:=1 to n do read(v[i]);
for i:=1 to n do read(c[i]);
readln; exit(true);
end;
function dp:longint;
var i,j:longint;
begin
fillchar(f,sizeof(f),false); f[0]:=true;
for i:=1 to n do begin
fillchar(t,sizeof(t),0); for j:=v[i] to m do
if (not f[j])and(f[j-v[i]])and(t[j-v[i]]<c[i]) then begin
f[j]:=true;
t[j]:=t[j-v[i]]+1;
end;
end; dp:=0; for i:=1 to m do inc(dp,byte(f[i]));
end;
begin
while init do writeln(dp);
end.
思想应该从代码里面容易看懂
开了外挂(参见某编译开关)都是 1300+ms
P党用这个程序对拍一下,慢3倍就完全没希望了.
啊,程序运行的时间可以用dos库里的gettime搞
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator