摘要:
题意:给你一个二维坐标上的几个点,问在同一条直线上最多几个点。思路:N=700,刚开始我枚举两个点i,j。(两个点一条线),然后用k枚举一遍各个点。这样算出每条线上最多的点。用了O(N^3)的超时了。我真是太天真了。其实在枚举每个k的时候就可以想到。k明显有一些可以优化的地方。优化:之前是枚举每条线,现在是枚举每个点,对于每个点i,求i和其它所有点的斜率。找出斜率相同点的个数。(用hash空间承受不来),所有用sort(O(nLOGn))即可找出。所有现在是O(N^2*LOGN),200+ms。#include<iostream>
#include<algorithm> 阅读全文
posted @ 2011-12-06 21:33
不是我干的
阅读(326)
评论(0)
推荐(0)
浙公网安备 33010602011771号