题解

273 条题解

  • 0
    @ 2008-10-26 19:31:46

    f:=min(f,f,f)+1;

    写起来容易,要明白min跟+1是什么意思,对我这种没做过经典题的人来说还是有难度的……

    空想&查网页&问人……花了半天也算有收获

  • 0
    @ 2009-07-06 20:26:00

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    f := min(f, f, f)+1

    这就是dp...

  • 0
    @ 2008-10-23 11:06:27

    同个程序交2次才能AC,全怪vijos,我的AC率啊.......

  • 0
    @ 2008-10-22 12:59:24

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

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

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

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

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

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

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

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

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

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

    就是硬搜!

  • 0
    @ 2008-10-21 15:34:07

    找规律呀

    var

    a:array[1..1000,1..1000] of integer;

    m,n,i,j,max,min:longint;

    begin

    readln(n,m);

    for i:=1 to n do

    begin

    for j:=1 to m do

    read(a);

    readln;

    end;

    for i:=2 to n do

    for j:=2 to m do

    if (a0)and(a0)and(a0)and(a0)

    then begin

    min:=10000;

    if a

  • 0
    @ 2008-10-20 22:11:56

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    我的第60题以一次AC达到了!

    DP很简单!只要做过经典题!

    不过我对搜索剪枝算法更感兴趣~

    希望以后能一次AC更多题!

    枚举算法大概思路是这样的:

    先枚举每行!然后求每个点可以扩展多少高度!用下DP思想可以更快!

    然后向两边扩展出最大宽度!大概就这样!

    这个可以求最优矩阵和问题!

  • 0
    @ 2008-10-17 21:10:42

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    呵呵,数据真的好弱,一次ac!!

    我用搜索的,大家可以试试啊,不用动规的.

  • 0
    @ 2008-10-17 12:29:24

    编译通过...

    ├ 测试数据 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-10-16 17:31:51

    模拟可以过

  • 0
    @ 2008-10-15 22:03:06

    编译通过...

    ├ 测试数据 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,m,j,i,max:longint; f:array[0..1000,0..1000] of longint;

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

    begin

    if a>b then exit(b) else exit(a);

    end;

    Begin

    readln(n,m);

    for i:=1 to n do

    for j:=1 to m do read(f);

    for i:=1 to n do

    for j:=1 to m do

    begin

    if f0 then

    f:=min(min(f,f),f)+1;

    if max

  • 0
    @ 2008-10-15 21:07:17

    program n1507;

    var n,m,i,j,ans:longint;

    f,g:array[0..1001,0..1001]of longint;

    function max(e,v:longint):longint;

    begin

    max:=e;

    if v>max then exit(v);

    end;

    function charge(h1,h2:longint):longint;

    begin

    if (gg) or (gg) then exit(0);

    charge:=h1+h2-max(h1,h2);

    if g=g then inc(charge);

    end;

    begin

    readln(n,m);

    fillchar(g,sizeof(g),$FF);

    for i:=1 to n do

    for j:=1 to m do read(g);

    for i:=n downto 1 do

    for j:=m downto 1 do

    f:=max(1,charge(f,f));

    ans:=0;

    for i:=1 to n do

    for j:=1 to m do if f>ans then ans:=f;

    writeln(ans);

    end.

    靠,理解错题了也AC

  • 0
    @ 2008-10-06 23:46:09

    编译通过...

    ├ 测试数据 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-10-04 09:35:04

    编译通过...

    ├ 测试数据 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-10-03 20:58:01

    一次AC

    哈哈哈哈......

  • 0
    @ 2008-09-27 20:43:07

    #include

    #include

    int dp[1001][1001];

    bool perfect[1001][1001];

    int m,n;

    int max=0;

    int min(int i, int j){

    return i

  • 0
    @ 2008-09-26 17:35:01

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    usaco 3.3.4 home on the range

  • 0
    @ 2008-09-26 07:34:47

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    暴搜...

  • 0
    @ 2008-09-24 22:57:20

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

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

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

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

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

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

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

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

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

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

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

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

    一次过`\`\`\`\

    数据有点弱

    要是1000 1000

    后面1000*1000个1的数据绝对超时间

  • 0
    @ 2008-09-23 20:59:07

    编译通过...

    ├ 测试数据 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,l,m,n,min:longint;

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

    p:boolean;

    function pd(x,y,z:longint):boolean;

    var g,t:longint;

    begin

    for g:=z to z+y-x-1 do

    if a[g,y]-a[g,x]min then

    min:=j-i;

    p:=true;

    break;

    end;

    if not p then break;

    end;

    end;

    writeln(min);

    end.

  • 0
    @ 2008-09-14 17:00:21

    除了A+B以外一次AC的第一题.....而且是DP做法。。。

    纪念下……

    大牛们不要BS我....

信息

ID
1057
难度
4
分类
动态规划 点击显示
标签
(无)
递交数
6650
已通过
3067
通过率
46%
被复制
8
上传者