260 条题解

  • 0
    @ 2009-11-08 10:48:43

    program beibao;

    var n,m,i,j:integer;

    f:array[0..300,0..500] of integer;

    w,v:array[1..500] of integer;

    function max(a,b:integer):integer;

    begin

    if a>b then exit(a)

    else exit(b);

    end;

    begin

    readln(n,m);

    for i:=1 to n do readln(v[i],w[i]);

    for i:=1 to n do f:=0;

    for j:=1 to m do f[0,i]:=0;

    for i:=1 to n do

    for j:=1 to m do

    if j-w[i]>=0 then f:=max(f,f+v[i])

    else f:=f;

    writeln(f[n,m]);

    end.

    80分- -

    数组开1000过掉

  • 0
    @ 2009-11-04 22:20:55

    #include

    using namespace std;

    const int N=101;

    const int M=1001;

    int l[N],t[N];

    int f[M];

    int n,v;

    int main()

    {

    cin>>n>>v;

    for (int i=1;i>l[i]>>t[i];

    for (int i=1;i=t[i];j--)

    f[j]=max(f[j],f[j-t[i]]+l[i]);

    cout

  • 0
    @ 2009-10-30 23:01:38

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    动规从背包抓起。。水题不扫何以扫天下

    F[i][j]=max{f[j],f[i][j-t[i]]+w[i]}

  • 0
    @ 2009-10-30 13:24:39

    program p1025;

    var tt,w:array[0..100] of longint;

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

    n,t:longint;

    i,j,k:longint;

    function max(x,y:longint):longint;

    begin

    if x>=y then max:=x

    else max:=y;

    end;

    begin

    readln(n);

    readln(t);

    for i:=1 to n do

    readln(w[i],tt[i]);

    for i:=1 to n do

    for j:=t downto tt[i] do

    f:=max(f,f+w[i]);

    writeln(f[n,t]);

    end.

    程序错误,不要刷

  • 0
    @ 2009-10-28 21:18:33

    为什么我的f[0..1001]才能全过???f[0..1000]过不了?

  • 0
    @ 2009-10-25 18:24:36

    yes

  • 0
    @ 2009-10-24 21:30:15

    囧,先读入价值再读入体积。

  • 0
    @ 2009-10-22 20:17:29

    血的教训告诉我说,看题要仔细...不要以为一个朴素的背包你就能一定能写对..

    数据范围啊....

  • 0
    @ 2009-10-14 00:35:07

    tmd.囧了两个小时,就是数组设置小了。他妈的,gcc编译器也不给个数组越界错误。给我蒙在了谷里。

  • 0
    @ 2009-10-09 16:26:14

    program ex_p1025;

    var

    v,w:array[1..100]of longint;

    f:array[0..100,0..1000]of longint;

    i,j,m,n,sum:longint;

    function max(a,b:longint):longint;

    begin

    max:=a;

    if b>a then max:=b;

    end;

    begin

    read(n);

    readln;

    read(m);

    readln;

    for i:=1 to n do

    begin

    read(w[i],v[i]);

    readln;

    end;

    for i:=1 to n do

    for j:=1 to m do

    begin

    if j-v[i]>=0 then f:=max(f,f+w[i])

    else f:=f;

    if f>sum then sum:=f;

    end;

    write(sum);

    end.

    一星半纪念~~~~~~~~~~~~~·

  • 0
    @ 2009-10-08 19:52:45

    编译通过...

    ├ 测试数据 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 main(void)

    {

    int n,t,v[101],w[101],f[101][1001],i,j;

    scanf("%d%d",&n,&t);

    for (i=1;i

  • 0
    @ 2009-10-07 14: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

    Ps:水是生命之源!!!!!

  • 0
    @ 2009-10-06 15:32:29

    囧 开心的金明进化版而已

  • 0
    @ 2009-09-20 14:36:41

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var

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

    f:array[0..1000] of longint;

    begin

    readln(n);

    readln(m);

    for i:=1 to n do

    begin

    readln(v,w);

    for j:=m downto w do

    if f[j]

  • 0
    @ 2009-09-16 13:57:23

    好一瓶纯净水!

  • 0
    @ 2009-09-15 18:21:32

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    简单背包

  • 0
    @ 2009-09-08 20:11:42

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    const filename='p1025';

    var

    n,t,i,j:longint;

    w,v:array[1..100]of longint;

    f:array[0..1000]of longint;

    begin

    assign(input,filename+'.in');reset(input);

    assign(output,filename+'.out');rewrite(output);

    readln(n,t);

    for i:=1 to n do

    read(w[i],v[i]);

    for i:=1 to n do

    for j:=t downto v[i] do

    if f[j-v[i]]+w[i]>f[j] then f[j]:=f[j-v[i]]+w[i];

    writeln(f[t]);

    close(input);close(output);

    end.

    我到现在对01背包还是不熟练……一开始我竟然在最后输出f[n]。

    我这么弱到底怎么办啊

  • 0
    @ 2009-09-08 15:30:00

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    program xiao;

    var

    n,m,x,y,i,j,w:longint;

    f:array[1..10000]of longint;

    begin

    readln(n);

    readln(w);

    for i:=1 to n do

    begin

    readln(x,y);

    for j:=w downto y do

    if f[j-y]+x>f[j] then f[j]:=f[j-y]+x;

    end;

    writeln(f[w]);

    readln;

    end.

    http://www.cyclone77.cn

  • 0
    @ 2009-09-07 12:40:48

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var n,t,i,j:integer;

    f:array[0..100,0..1000] of integer;

    like:array[1..100] of integer;

    time:array[1..1000] of integer;

    function max(x,y:integer):integer;

    begin

    if x>y then max:=x else max:=y;

    end;

    begin

    readln(n);readln(t);

    for i:=1 to n do readln(like[i],time[i]);

    fillchar(f,sizeof(f),0);

    for i:=1 to n do begin

    for j:=1 to t do

    if j>=time[i] then

    f:=max(f+like[i],f)

    else f:=f;

    end;

    writeln(f[n,t]);

    end.

    我快成背包王了

  • 0
    @ 2009-08-28 22:11:27

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    var f:array[0..1000] of longint;

    i,j,n,d,t,tt:longint;

    begin

    readln(n);

    readln(tt);

    for i:=1 to n do

    begin

    read(d,t);

    for j:=tt downto t do

    if f[j]

信息

ID
1025
难度
4
分类
动态规划 | 背包 点击显示
标签
(无)
递交数
9933
已通过
4050
通过率
41%
被复制
15
上传者