题解

84 条题解

  • 0
    @ 2008-10-23 12:26:51

    结果的数据范围要用int64- -!!囧死啊。。。。。

  • 0
    @ 2008-10-22 22:20:35

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    初值Maxlongint 70;

    Maxlongint*2 80;

    Maxlongint*1000 AC..

  • 0
    @ 2008-10-17 13:09:36

    我的人品啊.....

    第一次提交....忘记把

  • 0
    @ 2008-10-16 21:14:06

    编译通过...

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

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

    ├ 测试数据 03:答案错误... 

    ├ 标准行输出 3030...

     ├ 错误行输出 4418...

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

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

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

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

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

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

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

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

    Unaccepted 有效得分:90 有效耗时:0ms

    怎么回事啊!有特殊情况?

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

    ss,bb,s,b,c,i,j,k,n:dword;

    begin

    read(n,ss,bb);

    for i:=0 to ss do

    for j:=0 to bb do f:=-1;

    for i:=1 to n do

    begin

    read(s,b,c);

    for j:=ss downto s do

    for k:=bb downto b do

    if f[j-s,k-b]>=0 then

    if (f[j,k]=-1)or(f[j-s,k-b]+css then s:=ss;

    if b>bb then b:=bb;

    for j:=0 to s do

    for k:=0 to b do

    if (f[j,k]=-1)or(f[j,k]>c) then f[j,k]:=c

    end;

    write(f[ss,bb]*2);

  • 0
    @ 2008-10-05 22:11:10

    汗把c数组开longint ,乘以2的时候就挂了,最后三个点负数就出来了。

  • 0
    @ 2008-10-04 23:05:42

    二维背包取最小值的DP。。。Int64+滚动数组。。。

  • 0
    @ 2008-09-23 21:04:12

    啊啊啊啊……由于没注意范围,导致了216错误……WA3次……在此强烈感谢LS的快刀斩乱麻大牛……

  • 0
    @ 2008-09-23 15:32:09

    继续郁闷

    神差鬼使地,把longint打成了integer。

    f[i][j]表示大狗i声小狗j声需要的钱,然后你可以将比s大的si都变成s,bi也类似。

    状态转移方程自己想。逆推比较好。

  • 0
    @ 2008-09-18 20:54:35

    这道题目。。

    很弱智,,

    不过最令我感到做了无愧的是出题者的文采!!

    从前有2只狗,大的叫大狗,小的叫小狗,它们2个合起来就是狗儿们,使用英语的人把它们写作Girlman,传来传去,到最后大家决定叫它们格尔曼。!!

  • 0
    @ 2008-09-18 19:52:22

    汗最大值赋太小了

  • 0
    @ 2008-09-18 13:09:48

    var i,j,n,s1,b1,k,x,y:longint;

    a:array[0..80,0..80] of int64;

    t:array[0..80,0..80,1..2] of 0..1;

    s,b:array[1..1200] of longint;

    c:array[1..1200] of int64;

    begin

    readln(n,s1,b1);

    for i:=1 to n do

    readln(s[i],b[i],c[i]);

    for i:=1 to n do

    begin

    t[b1,s1,1]:=1;t[b1,s1,2]:=1;

    for j:=b1 downto 0 do

    for k:=s1 downto 0 do

    begin

    if (t[j,k,1]=1) then

    begin

    if (j-b[i]

  • 0
    @ 2008-09-17 22:00:58

    我始终只有70分啊 我把原代码放到我博客上了 有哪位大牛全过了 麻烦帮我看一下啊 指点一下 万分感谢了`\

    http://hi.baidu.com/free\_for\_ever/blog

  • 0
    @ 2008-09-18 14:48:53

    编译通过...

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

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

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

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

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

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

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

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

    ├ 测试数据 09:答案错误...

     ├ 标准行输出

     ├ 错误行输出

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

    的确 得牺牲空间~

    终于过了~

  • 0
    @ 2008-09-14 17:35:41

    编译通过...

    ├ 测试数据 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-14 14:42:41

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    谁没有Ac尽管问我 呵呵。

  • 0
    @ 2008-09-12 17:15:37

    最大值赋小了,小于了答案的数............

    5555我的AC Rate..

  • 0
    @ 2008-09-11 17:12:23

    program kkla;

    var x,d:array[1..1000]of longint; c:array[1..1000]of longword;

    n,t1,t2:integer; i,j,k,l:integer; p:longint;

    now,guo:array[0..50,0..50]of int64;

    procedure int;

    begin

    readln(n,t1,t2);

    for i:=1 to n do

    begin

    readln(x[i],d[i],p);

    c[i]:=2*p;

    end;

    end;

    function min(x1,y1:int64):int64;

    begin

    if x1>y1 then exit(y1)

    else exit(x1);

    end;

    function min1(x1,y1:longint):longint;

    begin

    if x1>y1 then exit(y1)

    else exit(x1);

    end;

    begin

    int;

    filldword(guo,sizeof(guo)shr 2,40000000000);

    guo[0,0]:=0;

    guo[min1(x[1],t1),min1(d[1],t2)]:=c[i];

    for i:=2 to n do

    begin

    now:=guo;

    for j:=0 to t1 do

    for k:=0 to t2 do

    now[min1(t1,j+x[i]),min1(t2,k+d[i])]:=

    min(guo[j,k]+c[i],now[min1(t1,j+x[i]),min1(t2,k+d[i])]);

    guo:=now;

    end;

    writeln(guo[t1,t2]);

    end.

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

    请问大牛,为什么 第1,2个数据会把正确答案"2"弄成了"0";

    难道是什么边界没考虑到吗,,,望指教))))

    编译通过...

    ├ 测试数据 01:答案错误... 

    ├ 标准行输出 2

      ├ 错误行输出 0

    ├ 测试数据 02:答案错误... 

    ├ 标准行输出 2

     ├ 错误行输出 0

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

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

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

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

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

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

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

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

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

    Unaccepted 有效得分:80 有效耗时:18ms

  • 0
    @ 2008-09-05 17:32:01

    个人的一点心得吧...在C里面NOIP的要求是从char到double 在很多时候用double 然后控制输出就可以解决一部分高精度问题,去年的取数我就用了double 得了80

    忘记乘2,交了3遍

  • 0
    @ 2008-09-03 21:27:20

    稀里糊涂地AC了

    感觉有点像P1334

    注意边界范围,还有int64

  • 0
    @ 2008-09-01 11:45:59

    哎~~~int64害得我提交了n次

信息

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