阿诺快来!mm再次出现 在平面上有n(n> 3)个点,设其中任意三点被包含在单位圆里,证明:n个点也被包含在单位圆里。 呵呵,叫我干什么啊? #4 得分:0 回复于: 2008-09-19 18:22:04 假设有n个小矩形,每个小矩形表示为(L[i],T[i])—(R[i],B[i]),1<=i<=n 将所有小矩形的x边界(即L和R)排序得到一个序列: 同样对小矩形的y边界(T和R)排序也可以得到一个序列: 这就好比拉起了一张大网,大矩形(x1,y1)-(x2,y2)被x=Pi、y=Qi(1<=i<=n)这样的直线分成了很多网格. 每个小矩形都是由若干个相邻的网格拼成的。 貌似没弄懂 画个(x1,y1),(x2,y2)的红色矩形 再画N个绿色矩形 然后遍历(x1,y1),(x2,y2)矩形的每个像素点 上面提到的算法基本需要O(N^3)的时间复杂度,不够好。 mathe说的“检查每个矩形,它落在大矩形内部的边界是不是均被其它矩形覆盖”很有新意。 另外我前面提的算法O(n^2)就可以实现啊,只是要开辟一个n^2大小的空间来记录网格被覆盖的状态。 想错了,重复标记状态,是要O(n^3) 给你一个自己写的矩形求交的程序,希望对你有用 struct INTERVAL //区间 { return false; { t1.left = r1.left; t1.right = r1.
Read full article from 矩形覆盖问题-CSDN论坛-CSDN.NET-中国最大的IT技术社区
No comments:
Post a Comment