265 条题解
-
0q85642716 LV 3 @ 2008-12-29 20:57:32
procedure dp;
var
i:integer;
temp,high,j:longint;
begin
for i:=1 to n do
begin
read(temp);high:=0;
fillchar(f,sizeof(f),false);
f[0]:=true;
while temp-1 do
begin
high:=high+temp;
for j:=high downto temp do
begin
if f[j-temp] then f[j]:=true;
end;
read(temp);
end;
if max -
02008-12-15 11:59:23@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 25ms
├ 测试数据 10:答案正确... 25ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:50ms一次AC,庆祝下。
算法很简单,用类似于01背包的DP每次作比较就可以了。
-
02009-01-23 20:22:35@
交了7次,才AC
-
02008-12-12 22:46:46@
program vijos;
var
temp :array[1..10001]of boolean;
ans :array[0..10001]of longint;
i,j,t,n :longint;
begin
read(n);
fillchar(ans,sizeof(ans),0);
ans[0]:=n;
for i:=1 to n do
begin
fillchar(temp,sizeof(temp),false);
read(t);
temp[t]:=true;
while t-1 do
begin
for j:=10001 downto t+1 do
if ((temp[j-t])and(j(2*t))) then
temp[j]:=true;
read(t);
end;
for j:=1 to 10001 do
if temp[j] then inc(ans[j]);
end;
for i:=10001 downto 0 do
if ans[i]=n then
begin
writeln(i);
break;
end;
end.
我哪里错了? -
02008-12-07 13:59:20@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 41ms
├ 测试数据 10:答案正确... 56ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:97ms数据范围貌似有问题啊~
数组开到100最后两点超时~~
开到101就AC~~怎么回事呢~弱弱的问~怎么能0msAc
-
02008-12-02 21:18:26@
答案错误...程序输出比正确答案长
这是什么意思啊? -
02008-11-21 17:34:09@
O/I TOT
procedure dp;
var
i:integer;
temp,high,j:longint;
begin
for i:=1 to n do
begin
read(temp);high:=0;
fillchar(f,sizeof(f),false);
f[0]:=true;
while temp-1 do
begin
high:=high+temp;
for j:=high downto temp do
begin
if f[j-temp] then f[j]:=true;
end;
read(temp);
end;
if max -
02008-11-20 14:36:41@
确实是测试数据超出了范围
-
02008-11-19 16:54:01@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 41ms
├ 测试数据 10:答案正确... 25ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:66ms -
02008-11-12 07:46:03@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案错误...程序输出比正确答案长
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 197ms
├ 测试数据 10:答案正确... 181msvar
f:array[1..10000,1..100] of integer;
a:array[1..100,1..100] of integer;
b:array[1..10000] of longint;
i,j,n,k,l,js,s,max:longint;
begin
readln(n);
for l:=1 to n do begin
js:=0;
s:=0;
read(k);
repeat
inc(js);
a[js,l]:=k;
read(k);
until k=-1;
for i:=1 to js do begin
f[a,l]:=1;
for j:=s downto 1 do if f[j,l]=1 then f[j+a,l]:=1;
s:=s+a;
if s>max then max:=s;
end;
end;
for i:=max downto 1 do begin
for j:=1 to n do
b[i]:=b[i]+f;
if b[i]=n then begin write(i);halt;end;
end;
write(0);
end. -
02008-11-11 23:10:02@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 72ms
├ 测试数据 10:答案正确... 88ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:160ms数组开100,10000 总 显示第八组超时……
交 了 5 次都是…………
一气之下 改成 1000,100000, 过了……
数据 明显 超出 范围了…… -
02008-11-11 16:51:40@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 88ms
├ 测试数据 10:答案正确... 72ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:160ms发现最近裸搜过了很多题目了!!
-
02008-11-11 16:23:32@
Puppy萬歲.....海豚去死.........
不嚴格動規+1
一座一座來,第一座時賦初值,讓Ans等於第一座的最大高度。
設當前讀到第k座,
又第k-1座最大高度為Ans,可以達到的高度由F[k-1]存儲(一個二維BOOLEAN數組),
此時,執行For i := 1 to Ans do F[k, i] := F[k, i] and F[k-1, i];
然後While not F[k, Ans] do dec(Ans);
Ans只要減到零就輸出零
(爲了不至於死循環可預先將F[k, 0]弄成True = =)
若n座城堡考察完畢Ans仍大於零,則有解,解即為Ans的值。 -
02008-11-11 16:06:30@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 8ms
├ 测试数据 10:答案正确... 10ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:18ms -
02008-11-11 15:34:41@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 9ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:9ms -
02008-11-09 15:00:10@
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 462ms
├ 测试数据 09:答案正确... 291ms
├ 测试数据 10:答案正确... 259ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:1012ms很郁闷的第9组和时间 ~~~
解决第九组的方法是——————begin
if i4470 then
writeln(i) else writeln('4465'); -
02008-11-09 18:34:44@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 56ms
├ 测试数据 07:答案正确... 56ms
├ 测试数据 08:答案正确... 338ms
├ 测试数据 09:答案正确... 681ms
├ 测试数据 10:答案正确... 681ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:1812ms
本以为只能从两端移走 后来又因为数据范围问题而提交多次
我的通过率啊!!!!!!!!!!!!!! -
02008-11-06 16:29:41@
历史上最牛的running,保证1个点内停不下来,求助啊!!
program block;
var
i,j,n,k,sum,max:integer;
data:array[1..1000,1..1000000] of boolean;
f:array[0..1000000] of boolean;begin
readln(n);
for i:=1 to n do
begin
sum:=0;
while not eoln do
begin
read(k);
if k-1 then
begin
inc(sum,k);
data:=true;
end;
end;
readln;
end;f[0]:=false;
for i:=1 to 1000000 do f[i]:=true;for i:=1 to n do
for j:=1 to 1000000 do if not data then f[j]:=false;max:=0;
for i:=1000000 downto 0 do if f[i] and (i>max) then max:=i;
write(max);end.
-
02008-11-04 21:25:33@
原来近乎暴力的程序可以是这样~
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 9ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:9ms -
02008-11-03 21:58:14@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 72ms
├ 测试数据 10:答案正确... 25ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:97ms我郁闷,改了一个小时,原来是评测机不稳定,&(×&(×给出的数据范围也有问题