讨论 / 此题注意一下常数,O(n^3)算法也能AC的,最WS的那个点800ms跑过~
DarkMaster 2010-11-13 02:15:00
点我顶贴 收藏 删除
其实这题思路很简单,朴素的算法大家都能想到,那就是在所有点中任取两个点,这两个点确定一条直线,然后判断有几个点在这条直线上即可,这种方法时间复杂度O(n^3),有点危险,但只要注意一下常数,这种方法也是能够AC的,特别是尽量避免除法。

状态题目:轰炸

题目编号:150-轰炸 查看该题

状态: Accepted

测评机: Xeond[6]

得分: 100分

提交日期: 2008-8-29 11:01:00

有效耗时: 2905毫秒

测试结果1: 通过本测试点|有效耗时156:ms

测试结果2: 通过本测试点|有效耗时46:ms

测试结果3: 通过本测试点|有效耗时500:ms

测试结果4: 通过本测试点|有效耗时188:ms

测试结果5: 通过本测试点|有效耗时844:ms

测试结果6: 通过本测试点|有效耗时156:ms

测试结果7: 通过本测试点|有效耗时203:ms

测试结果8: 通过本测试点|有效耗时375:ms

测试结果9: 通过本测试点|有效耗时265:ms

测试结果10: 通过本测试点|有效耗时172:ms

#1 DarkMaster@2008-08-28 23:06:00
回复 删除
自己顶
#2 DarkMaster@2008-08-29 00:52:00
回复 删除
Up again
#3 guoshi3@2008-08-29 01:24:00
回复 删除
....谢谢了。我也去ws的跑一下....
#4 guoshi3@2008-08-29 06:14:00
回复 删除
哈,我也n^3,最ws的那个点313ms跑过!哈哈,跟你相比我这可是博尔特啊
#5 DarkMaster@2008-08-30 01:00:00
回复 删除
这题其实有O(n^2*logn)算法
#6 DarkMaster@2008-08-30 01:00:00
回复 删除
这题其实有O(n^2*logn)算法
#7 DarkMaster@2008-08-30 01:08:00
回复 删除
4F:请问你是怎么做的?
#8 DarkMaster@2008-08-30 03:14:00
回复 删除
??
#9 guoshi3@2008-08-30 03:46:00
回复 删除
for i:=1 to n-2

j=i+1 to n-1

k=j+1 to n

这么三重循环

#10 DarkMaster@2008-08-30 03:48:00
回复 删除
思路怎样的?
查看更多回复
提交回复