题解

84 条题解

  • 0
    @ 2008-08-23 18:49:28

    ...郁闷被抢了...2维的背包!!!

    f(A,B)=f(A-a[i],B-b[i])+c[i]*2;

  • -1
    @ 2009-11-05 23:11:08

    诡异

    同一个程序第一次10分,其他全错

    第二次交100

  • -1
    @ 2009-10-23 15:53:36

    一个令人汗颜的而结果......

    (提交流程)

    第一次,把样例过了,结果交上去是70分(后三个没过)。

    改了改...

    第二次,样例没过,交上去竟然是...100...(跑的样例为20...)

    这莫非是春哥,曾哥附体?

    (注意越界处理,改为a或b即可)

    program p1428;

    var

    f : array[0..50,0..50] of int64;

    sa, sb, sc : array[0..1000] of int64;

    i, j, k, a, b, n, p1, p2, max : longint;

    begin

    for i := 0 to 50 do

    for j := 0 to 50 do

    f := -1;

    readln(n,a,b);

    for i:=1 to n do

    readln(sa[i],sb[i],sc[i]);

    f[0,0] := 0;

    for i:=1 to n do

    for j:=50 downto 0 do

    for k:=50 downto 0 do

    if f[j,k]>=0 then

    begin

    p1:=j+sa[i];

    if p1>a then p1:=a;

    p2:=k+sb[i];

    if p2>b then p2:=b;

    if f[p1,p2]f[j,k]+sc[i] then

    f[p1,p2]:=f[j,k]+sc[i];

    end;

    writeln(f[a,b]*2);

    end.

  • -1
    @ 2009-09-06 21:35:54

    我,一只纯洁的海豚,

    oooO ↘┏━┓ ↙ Oooo

    ( 踩)→┃ 踩 ┃ ←(踩 )

    \ ( →┃ ┃ ← ) /

      _)↗┗━┛ ↖(/

    在无数先烈们的尸体上,冲向了终点!!!~~~~~

    然后被放了一冷枪(临时统计价格的v没有用longlong,也就是int64)

    英勇的倒下了

    但是

    我又站了起来

    oooO ↘┏━┓ ↙ Oooo

    ( 踩)→┃ 踩 ┃ ←(踩 )

    \ ( →┃ ┃ ← ) /

      _)↗┗━┛ ↖(
    /

    在无数先烈们的尸体上,冲向了终点!!!~~~~~

    没有倒下,0ms AC

    在此感谢楼下不远的xiaobai,我重新想起了二维背包

    并编出了c/c++程序

    现供大家参考

    此致敬礼

    南雅c107班,海豚

    #include

    #include

    long long b[61][61],v;

    long i,j,k,n,t1,t2,w1,w2,a[1001][3];

    int main()

    {

    scanf("%ld%ld%ld",&n,&t1,&t2);

    for(i=1;i=0;k--)

    if(b[j][k]!=0)

    {

    w1=j+a[i][0];w2=k+a[i][1];

    if(w1>t1)w1=t1;

    if(w2>t2)w2=t2;

    v=b[j][k]+a[i][2];

    if(b[w1][w2]==0)b[w1][w2]=v;else if(v

信息

ID
1428
难度
6
分类
动态规划 | 背包 点击显示
标签
(无)
递交数
1547
已通过
411
通过率
27%
被复制
2
上传者