265 条题解
-
0yangjhjh LV 3 @ 2006-12-11 23:18:09
多次DP,不用排序(注意输入时保存城堡中最矮那个的高度)
Puppy测最后两点都是150ms,怎么提高效率啊?
顺带发现了一个问题,longint比integer运算速度快了快一倍! -
02006-12-03 03:36:04@
Accepted 有效得分:100 有效耗时:378ms
细节没处理好,这么慢……
-
02006-11-16 21:32:06@
简单背包问题。。。。
-
02006-11-12 22:56:04@
---|---|---|---|---|---|---|---|-
Accepted 有效得分:100 有效耗时:1072ms本菜鸟写的垃圾了。。请问楼上的几位大牛有什么好方法可以提高速度?
-
02006-11-09 20:23:43@
题目是指拿掉积木,不是拿到别的积木上,不要理解错误,还有,棱长就是高度。
写动规部分用2个1围数组,既简单有方便啊啊。。。 -
02006-11-08 12:30:38@
得用LONGINT~~
-
02006-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% -
02006-11-04 15:00:38@
样例为什么是3呢?那位大牛解释一下?谢谢!!
-
02006-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. -
02006-11-02 19:41:18@
终于AC了 整死了
-
02006-11-02 11:10:55@
选拔赛的数据我过不了
这里的............. -
02006-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...
-
02006-10-20 16:05:14@
C语言里原来没有布尔型.第一次Not Compiled.
改成 char,AC...... -
02006-10-18 10:55:55@
严重注意。。顺起FOR的话可能会把当前这块积木FOR很多次。。。
EXAMPLE:
积木:100 1
当前积木:1
SUM:100
1把2弄成真
2把3弄成真
3把4弄成真
。。。
然后70分。。。
所以。。我认为xj_kidb1同学的方法仍然。。。
-
02006-09-19 16:48:43@
多组背包问题求公共最优解
-
02006-10-14 20:53:44@
所谓的背包,或者是装箱问题,实际上就是穷举,或者说利用了一点递推的思想,只是由于条件有特殊的限制,可以有不同寻常的顺序,所以节约了大量的时间。具体实现如下:
1.读入数据之后,找到所有塔当中最小的原高度lowh。
2.记录高度j对于塔p能否刚好达到。这一步至关重要,因为如果循环语句的顺序设计得好,那么可以节约大量的时间,并且不用判断积木的重复使用。由于题意中明确了“大的放下面”的原则,所以,看似类似背包问题、应该先循环容量的循环语句却可以先循环物件(也就是积木)(这里可以这样想:由于顺序无影响,模拟从下向上安装塔的顺序,如果下面都没放高的,那么较高的就不可能再在上面出现,也就不会出现背包问题中先循环物件而造成的缺失。这里实际上相当于寻找塔p在最上面一个积木为第i个积木的时候能够到达的所有高度)。而且,这样循环的话,可以将后面容量的循环一定量地缩短,即只需要从lowh向下循环到当前物件的高度,因为高度再小的话是肯定不可能通过当前物件达到的。
3.最后,从lowh到1扫描,看有没有能够满足所有塔都能够到达的高度,一旦发现,立即输出,退出程序。最后如果程序还在运行,说明前面没有输出,也就是没有最优解,就输出0。其实所谓的最高就在这里实现。 -
02006-08-24 16:51:57@
AC了..爽..
但我有一事不明!为什么大家都在探讨排序的问题??哪怕输入是无序的也不用排啊~~ -
02006-08-19 14:03:09@
我来插一句:
题目中已经说明不需排序:
他发现垒城堡的时候,如果下面的积木比上面的积木大,那么城堡便不容易倒。所以他在垒城堡的时候总是遵循这样的规则。
HOHO,94这样~~ -
02006-07-26 08:59:52@
SOS 这道题我感觉我没写错
却一直只过4组 我开了个小号 把读入的数据输出来看看
结果发现n=10时只有7组 数据有问题吗 谢谢大侠 -
02006-07-24 12:56:47@
这题,我是用垃圾算法,类似zero的