题解

157 条题解

  • 0
    @ 2006-10-17 10:25:06

    再说得细点吧。不明白啊~~~~~~~~~~~~~~~~~~

  • 0
    @ 2006-10-09 21:29:51

    这解法真牛啊,非常感谢jerryzhou大牛!

  • 0
    @ 2006-10-04 21:15:48

    能够AC首先要感觉ljd1003,当然还要感谢jerryzhou。

    这题没什么好说的了,就是要多注意细节。如果按照JERRYZHOU的方法做,可以零秒过全部数据。

    这题可以用滚动数组来存储,把空间复杂度由o(n^4)将到o(n^3).JERRYZHOU这个方法完全可以应对更恶劣的数据。

  • 0
    @ 2006-09-11 19:26:50

    0ms,AC, 第三个数据终极白痴

    竟然有n=0的情况

    搞到我WA N次

  • 0
    @ 2006-08-29 22:36:03

    三个进程的DP,注意范围,思想.

  • 0
    @ 2006-08-23 20:20:41

    饶了N多弯路 终于AC^_^

    谢谢JerryZhou的提示

  • 0
    @ 2006-08-18 14:17:04

    靠,顶峰作案,交个了贪心,结果只过了一组

  • 0
    @ 2006-08-18 13:58:30

    靠,本来10分

    加了个readln就过了

    鄙视这数据

  • 0
    @ 2006-08-13 17:05:47

    原来那道取2次,我就晕晕了。..

    这个居然要3次.........

  • 0
    @ 2006-08-12 20:48:20

    我的用了125ms

    加上个减枝 应该也可以0ms

  • 0
    @ 2006-08-25 17:43:19

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

  • 0
    @ 2006-08-08 21:57:54

    O(N^5)过得了不?

  • 0
    @ 2006-07-25 11:55:52

    貌似所有点都可以达到0ms.

  • 0
    @ 2006-07-24 07:09:01

    我们老师是用动态规划做的,效率不错...

  • 0
    @ 2006-05-05 19:40:25

    普通搜别想过了。

    想想对于当前已经走了K步,

    三个棋子的横坐标也已经知道,

    那么它们的纵坐标......

    那这三点是怎么走到的?也就是他们的前一步可能是什么。

    做不出来地看着想想吧。

  • -1
    @ 2017-04-23 14:18:54

    发个pascal。

    var
      f:array[0..39, 0..20, 0..20, 0..20] of longint;
      a:array[1..20, 1..20] of longint;
      n, i, j, k, l:longint;
    function max(a, b, c, d, e, f, g, h:longint):longint;
    begin
      if a>b then max:=a
      else max:=b;
      if c>max then max:=c;
      if d>max then max:=d;
      if e>max then max:=e;
      if f>max then max:=f;
      if g>max then max:=g;
      if h>max then max:=h
    end;
    function min(a, b:longint):longint;
    begin
      if a<b then min:=a
      else min:=b
    end;
    begin
      readln(n);
      for i:=1 to n do
        for j:=1 to n do read(a[i, j]);
      fillchar(f, sizeof(f), 0);
      f[1, 1, 1, 1]:=a[1, 1];
      for i:=2 to n*2-1 do
        for j:=1 to min(n, i) do
          for k:=1 to min(n, i) do
            for l:=1 to min(n, i) do begin
              f[i, j, k, l]:=max(f[i-1, j, k, l], f[i-1, j-1, k, l], f[i-1, j, k-1, l], f[i-1, j, k, l-1], f[i-1, j-1, k-1, l], f[i-1, j-1, k, l-1], f[i-1, j, k-1, l-1], f[i-1, j-1, k-1, l-1])+a[j, i-j+1];
              if k<>j then inc(f[i, j, k, l], a[k, i-k+1]);
              if (l<>j) and (l<>k) then inc(f[i, j, k, l], a[l, i-l+1])
            end;
      write(f[2*n-1, n, n, n])
    end.
    
    
  • -1
    @ 2014-10-02 16:42:52

    dp(类似于传字条,六维压掉两维),或者网路流(详见疯狂方格取数)

信息

ID
1143
难度
4
分类
动态规划 点击显示
标签
递交数
3507
已通过
1452
通过率
41%
被复制
9
上传者