168 条题解

  • 0
    @ 2008-10-05 17:23:03

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    秒杀。一定要注意,if(j

  • 0
    @ 2008-10-05 15:18:31

    program P_1;

    var x:array[0..400,0..400] of longint;

    t,t1,m,m1,n,v,i,j,k,min:longint;

    begin

    readln(t,m);

    readln(n);

    for i:=1 to n do

    begin

    readln(t1,m1,v);

    for j:=t-t1 downto 0 do

    for k:=m-m1 downto 0 do

    if x[j,k]+v>x[j+t1,k+m1] then

    x[j+t1,k+m1]:=x[j,k]+v;

    end;

    writeln(x[t,m]);

    end.

    又是背包变式!!

  • 0
    @ 2008-09-28 12:55:37

    原来是数组开成1了...

    要downto 0

  • 0
    @ 2008-09-26 21:12:57

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    #include

    int f[50][400][400]={0},n,h,w;

    int hs[50],ws[50],ks[50];

    int max1(int a,int b){

    return (a>b)?a:b;

    }

    int main(){

    int i,j,k;

    scanf("%d%d%d",&h,&w,&n);

    for (i=1;i

  • 0
    @ 2008-09-10 17:09:06

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 9ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 25ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:34ms

  • 0
    @ 2008-09-10 17:06:26

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-09-04 18:52:28

    var

    a:array[0..400,0..400]of longint;

    mv,mm,n,v,m,ka,i,j,k:longint;

    begin

    readln(mv,mm);

    readln(n);

    for i:=1 to n do

    begin

    readln(v,m,ka);

    for j:=mv downto v do

    for k:=mm downto m do

    if a[j-v,k-m]+ka>a[j,k] then a[j,k]:=a[j-v,k-m]+ka;

    end;

    write(a[mv,mm]);

    end.

    AC!与“开心的金明”有共通之处

  • 0
    @ 2008-08-29 21:56:43

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-08-29 15:12:35

    f[j,k]:=max(f[j,k],f[j-v,k-m]+c);

  • 0
    @ 2008-08-28 20:58:03

    太轻松了,一次AC.

    var

    v,m,n,i,j,k:longint;

    a,b,c:array[1..50] of longint;

    f:array[0..400,0..400] of longint;

    begin

    readln(v,m);

    readln(n);

    for i:=1 to n do

    read(a[i],b[i],c[i]);

    for k:=1 to n do

    for i:=v-a[k] downto 0 do

    for j:=m-b[k] downto 0 do

    if f[i+a[k],j+b[k]]

  • 0
    @ 2008-08-27 19:36:55

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    超简单的背包,有智商的应该都会,超简单的动归,第一次用贪心的,也对了,不过:

    编译通过...

    ├ 测试数据 01:答案正确... 55ms

    ├ 测试数据 02:答案正确... 769ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 45ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 1ms

    ├ 测试数据 09:答案正确... 44ms

    ├ 测试数据 10:答案正确... 554ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:1458 有效耗时:0ms

  • 0
    @ 2009-07-07 10:35:25

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    DP其实不需要

    没剪枝的DFS都0MS AC 难道是RP好?~

    var i,j,k,l,m,n,max,max1:longint;

    a,b,e:array[1..1000] of longint;

    c:array[0..1000,0..1000] of longint;

    procedure try(x:integer;nb,np:longint);

    var oi,oj:longint;

    begin

    if x>m then begin if max=a[x])and(np>=e[x]) then

    begin

    max1:=max1+b[x];

    if max

  • 0
    @ 2008-08-25 07:52:20

    01背包,双重限制

  • 0
    @ 2008-08-23 20:38:22

    楼上动态方程忘了加上 p[i] 啊。。。

  • 0
    @ 2008-08-19 19:30:41

    f(i,j,k) = max{f(i-1,j,k) , f(i-1,j-v[i],k-m[i])}

  • 0
    @ 2008-08-14 19:06:47

    双限制---|二维数组

    背包问题~~~贪心取最优即可~

  • 0
    @ 2008-08-12 20:07:35

    莫名其妙TLE一次,莫名其妙CE一次(错误号-1),然后AC率又从60%滑了下来,5555555555555555555555~~~

  • 0
    @ 2008-07-25 16:16:34

    经典背包加厚

    数据太弱 一次AC 全部秒杀

    迈向29%AC率

  • 0
    @ 2008-07-24 22:34:52

    终于AC30题~~ 真不容易~~

  • 0
    @ 2008-07-22 18:42:16

    谢谢 freeshow

    还是校友利害

信息

ID
1334
难度
2
分类
动态规划 | 背包 点击显示
标签
(无)
递交数
2917
已通过
1744
通过率
60%
被复制
5
上传者