47 条题解
-
0czz5242199 LV 9 @ 2009-07-14 21:57:18
大家买一买,瞧一瞧O(N^3)算法一次AC。
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0msconst Max_size=10000000;
var work:array[0..100] of boolean;
fmax,fmin:array[0..100,0..100] of longint;
a:array[0..100] of longint;
n,m,i,k,j,l,p,maxans,minans:longint;
ch:char;
function max(a,b,c,d,e:longint):longint;
begin
max:=a;
if maxe then min:=e;
end;
begin
readln(n);
for i:=1 to n do
begin
read(ch); work[i]:=ch='+';
end;
readln;
for i:=1 to n do read(a[i]);
m:=n*2-1;
for i:=n+1 to m do
begin
work[i]:=work; a[i]:=a;
end;
fillchar(fmax,sizeof(fmax),200);
fillchar(fmin,sizeof(fmin),100);
for i:=1 to m do
begin
fmax:=a[i]; fmin:=a[i];
end;
for i:=1 to n-1 do
for k:=1 to m do
begin
j:=i+k; if j>m then break;
for p:=k to j-1 do
if work[p] then
begin
fmax[k,j]:=max(fmax[k,j],fmax[k,p]+fmax[p+1,j],-Max_size,-Max_size,-Max_size);
fmin[k,j]:=min(fmin[k,j],fmin[k,p]+fmin[p+1,j],Max_size,Max_size,Max_size);
end else
begin
fmax[k,j]:=max(fmax[k,j],fmin[k,p]*fmin[p+1,j],fmax[k,p]*fmax[p+1,j],fmax[k,p]*fmin[p+1,j],fmin[k,p]*fmax[p+1,j]);
fmin[k,j]:=min(fmin[k,j],fmin[k,p]*fmin[p+1,j],fmax[k,p]*fmax[p+1,j],fmax[k,p]*fmin[p+1,j],fmin[k,p]*fmax[p+1,j]);
end;
end;
maxans:=-Max_size; minans:=Max_size;
for i:=1 to n do
begin
if fmax>maxans then maxans:=fmax;
if fmin -
02009-07-14 20:33:41@
我和Halt的解法几乎一致,为什么我过不了。
-
02009-07-14 11:30:03@
想不出来树规怎么做......直接像用数字游戏的方法做的
-
02009-07-13 19:13:29@
太可恶了!!!
zgx在最后一点写的话
-
02009-07-13 18:22:09@
没秒。。。。
汗颜。。。。。
比赛的时候没注意负数的情况。。。
囧注意:相乘的情况 负负得正 有可能最小值相乘得到最大值,,,,
-
02009-07-13 16:31:50@
为啥错第9个点??
-
02009-07-13 15:37:54@
fmax=max(fmin*fmin,fmax*fmax) = =..
ms不能用四边形优化……
如果能 请牛人给证明 -
02009-07-13 15:21:28@
第40个~~~
Flag Accepted
题号 P1565
类型(?) 动态规划
通过 40人
提交 264次
通过率 15%
难度 1正权与负权区别 .
(-1)*(-13)>3*4
所以 最大的乘以最大的不一定是最大的.. - -!!
负负得正~~ -
02009-07-13 14:47:16@
不就是石子归并吗?!!
-
02009-07-13 13:59:38@
负数!
-
02009-07-13 13:56:39@
要拆环O(N^4)
昨天没拆环O(N)结果就20分 -
02009-07-13 12:49:19@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms考试的时候……
大括号打错了位置……
只得了10分……
哭死了…… -
02009-07-13 23:58:46@
错9个点的 注意下自己的max和min的初值
还有数组的初值 -
02009-07-13 10:37:05@
第21个...
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms -
02009-07-13 10:19:06@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms第十八个!!!
ps:什么是树形动归??我只用了普通的dp....... -
02009-07-13 10:05:59@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms
第15个通过...
一开始用普通dp 过不了
受halt启发用treedp 秒杀 -
02009-07-13 09:41:17@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms
├ 测试数据 10:答案正确... 0ms
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:0ms光荣成为第十个Accepted的人...
-
02009-07-13 09:07:49@
编译通过...
├ 测试数据 01:答案正确... 0ms
├ 测试数据 02:答案正确... 0ms
├ 测试数据 03:答案正确... 0ms
├ 测试数据 04:答案正确... 0ms
├ 测试数据 05:答案正确... 0ms
├ 测试数据 06:答案正确... 0ms
├ 测试数据 07:答案正确... 0ms
├ 测试数据 08:答案正确... 0ms
├ 测试数据 09:答案正确... 0ms├ 测试数据 10:答案正确... 0ms
Accepted 有效得分:100 有效耗时:0ms
直接秒杀
-
02009-07-13 08:58:28@
const maxe=1000000000;
var
c:array[1..100] of char;
a:array[1..100] of longint;
f:array[1..100,1..100,1..2] of int64;
i,j,n,out:longint;
min,now,max:int64;function fmax(x,y,z,k:int64):int64;
begin
if (x>=y)and(x>=z)and(x>=k) then exit(x);
if (y>=x)and(y>=z)and(y>=k) then exit(y);
if (z>=y)and(z>=x)and(z>=k) then exit(z);
if (k>=y)and(k>=z)and(k>=x) then exit(k);
end;function fmin(x,y,z,k:int64):int64;
begin
if (x -
02009-07-13 07:59:38@
这题要不要高精度啊
为什么老是过不了?