题解

244 条题解

  • 0
    @ 2007-07-19 00:10:44

    f表示前i个分成差为j的两堆时的最大高度

    f=max{f,

    f,

    f+v[i],(j-v[i]>=0)

    f-abs(j-v[i])+v[i],(j-v[i]

  • 0
    @ 2007-06-23 20:16:36

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    庆祝一下!!!!!

    类似背包,分取与不取,如取就记录下来,最后 (取出来的 div 2)就行了!!!!!

  • 0
    @ 2007-06-04 20:08:10

    大家注意不要忘记impossible哦

  • 0
    @ 2007-04-26 19:51:11

    数据太弱

  • 0
    @ 2007-04-21 15:11:21

    a[d]表示高度相差d时高的那一堆的最大高度

    然后开始dp,a[0]就是答案

  • 0
    @ 2007-04-12 23:07:39

    有了巧妙的DP方程,还要注意判断.

  • 0
    @ 2007-04-07 00:24:05

    我的DP很垃圾...O(3*100*1000*1000)的那种

  • 0
    @ 2007-03-06 23:51:12

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    Blaze评测.

    那个状态方程我推了一下午...

  • 0
    @ 2007-02-10 10:41:32

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    dp题,虽然很弱智,但很繁琐,我的AC率~~~~~~~~~~~~~~~~~~~~~~

  • 0
    @ 2007-02-05 23:41:12

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    DP,就四种情况

  • 0
    @ 2006-11-10 20:48:37

    f表示前i个水晶建成高度差为j的双塔中矮塔的高度

    有谁能告诉我这是怎么想到的吗?

    我开始想成了f表示第i个到第j个是否可以建成高度k的一座塔,然后看是否有某两个不相交区间的某个k值都为true,或者某个区间内该区间内水晶高度和的一半可以达到,则表示可以建成该高度的双塔,结果错了4个点

  • 0
    @ 2006-11-10 17:29:29

    编译通过...

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

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

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

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

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

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

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

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

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

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

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

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

    真的有必要用各位大牛说的那种dp????

  • 0
    @ 2006-11-09 16:42:44

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    天啊``。。。。。

  • 0
    @ 2006-11-07 10:00:26

    F[i][j]=max{

    F[j],

    F[j-h[i]],

    F[j+h[i]]+h[i],

    F[h[i]-j]+h[i]-j}

    不过判断条件貌似很烦杂.........

  • 0
    @ 2006-11-05 15:15:41

    碰到坏机,二维背包过不了.

    要充分利用条件才行.

  • 0
    @ 2006-11-05 15:13:56

    碰到坏机,二维背包过不了.

    要充分利用条件才行.

  • 0
    @ 2006-11-01 13:22:51

    最优性不明显的DP

    用boolean型数组计算

  • 0
    @ 2006-10-28 22:50:37

    因为所有水晶总和不超过2000,所以两座塔的总情况最多2000*2000,所以....

  • 0
    @ 2006-10-28 19:09:28

    DP。。。。。。。

    f表示前i块水晶搭的两座高度差为j的塔中较矮塔高度

    f=max{f,f,f,f+a[i]-j}(2

  • 0
    @ 2006-10-25 19:56:27

    补充一个,注意水晶放在低塔时,低塔有可能成了高塔,为此WA了N次.....

信息

ID
1037
难度
6
分类
动态规划 | 背包 点击显示
标签
(无)
递交数
10535
已通过
2737
通过率
26%
被复制
16
上传者