题解

265 条题解

  • 0
    @ 2006-12-11 23:18:09

    多次DP,不用排序(注意输入时保存城堡中最矮那个的高度)

    Puppy测最后两点都是150ms,怎么提高效率啊?

    顺带发现了一个问题,longint比integer运算速度快了快一倍!

  • 0
    @ 2006-12-03 03:36:04

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

    细节没处理好,这么慢……

  • 0
    @ 2006-11-16 21:32:06

    简单背包问题。。。。

  • 0
    @ 2006-11-12 22:56:04

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

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

    本菜鸟写的垃圾了。。请问楼上的几位大牛有什么好方法可以提高速度?

  • 0
    @ 2006-11-09 20:23:43

    题目是指拿掉积木,不是拿到别的积木上,不要理解错误,还有,棱长就是高度。

    写动规部分用2个1围数组,既简单有方便啊啊。。。

  • 0
    @ 2006-11-08 12:30:38

    得用LONGINT~~

  • 0
    @ 2006-11-06 20:15:35

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    哎 终于 原来可以从任何一个位置抽起

    害得我的通过率又降了1%

  • 0
    @ 2006-11-04 15:00:38

    样例为什么是3呢?那位大牛解释一下?谢谢!!

  • 0
    @ 2006-11-03 16:15:06

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

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

    简单的背包DP.

  • 0
    @ 2006-11-02 19:41:18

    终于AC了 整死了

  • 0
    @ 2006-11-02 11:10:55

    选拔赛的数据我过不了

    这里的.............

  • 0
    @ 2006-10-27 20:39:30

    编译通过...

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

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

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

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

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

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

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

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

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

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

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

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

    严重bs数据!按照题目叙述integer够了,结果最后两组wa..改成longint...AC...

  • 0
    @ 2006-10-20 16:05:14

    C语言里原来没有布尔型.第一次Not Compiled.

    改成 char,AC......

  • 0
    @ 2006-10-18 10:55:55

    严重注意。。顺起FOR的话可能会把当前这块积木FOR很多次。。。

    EXAMPLE:

    积木:100 1

    当前积木:1

    SUM:100

    1把2弄成真

    2把3弄成真

    3把4弄成真

    。。。

    然后70分。。。

    所以。。我认为xj_kidb1同学的方法仍然。。。

  • 0
    @ 2006-09-19 16:48:43

    多组背包问题求公共最优解

  • 0
    @ 2006-10-14 20:53:44

    所谓的背包,或者是装箱问题,实际上就是穷举,或者说利用了一点递推的思想,只是由于条件有特殊的限制,可以有不同寻常的顺序,所以节约了大量的时间。具体实现如下:

    1.读入数据之后,找到所有塔当中最小的原高度lowh。

    2.记录高度j对于塔p能否刚好达到。这一步至关重要,因为如果循环语句的顺序设计得好,那么可以节约大量的时间,并且不用判断积木的重复使用。由于题意中明确了“大的放下面”的原则,所以,看似类似背包问题、应该先循环容量的循环语句却可以先循环物件(也就是积木)(这里可以这样想:由于顺序无影响,模拟从下向上安装塔的顺序,如果下面都没放高的,那么较高的就不可能再在上面出现,也就不会出现背包问题中先循环物件而造成的缺失。这里实际上相当于寻找塔p在最上面一个积木为第i个积木的时候能够到达的所有高度)。而且,这样循环的话,可以将后面容量的循环一定量地缩短,即只需要从lowh向下循环到当前物件的高度,因为高度再小的话是肯定不可能通过当前物件达到的。

    3.最后,从lowh到1扫描,看有没有能够满足所有塔都能够到达的高度,一旦发现,立即输出,退出程序。最后如果程序还在运行,说明前面没有输出,也就是没有最优解,就输出0。其实所谓的最高就在这里实现。

  • 0
    @ 2006-08-24 16:51:57

    AC了..爽..

    但我有一事不明!为什么大家都在探讨排序的问题??哪怕输入是无序的也不用排啊~~

  • 0
    @ 2006-08-19 14:03:09

    我来插一句:

    题目中已经说明不需排序:

    他发现垒城堡的时候,如果下面的积木比上面的积木大,那么城堡便不容易倒。所以他在垒城堡的时候总是遵循这样的规则。

    HOHO,94这样~~

  • 0
    @ 2006-07-26 08:59:52

    SOS 这道题我感觉我没写错

    却一直只过4组 我开了个小号 把读入的数据输出来看看

    结果发现n=10时只有7组 数据有问题吗 谢谢大侠

  • 0
    @ 2006-07-24 12:56:47

    这题,我是用垃圾算法,类似zero的

信息

ID
1059
难度
6
分类
动态规划 | 背包 点击显示
标签
(无)
递交数
7828
已通过
2342
通过率
30%
被复制
19
上传者