求助一个题目

eijnim 2011-05-31 09:31:35
不知道这个题正确算法是什么,DP还是计算几何啊,没有一点想法=。=
问题描述:
考虑平面上n个点构成的点集p1,p2,p3...pn
假设对P中点的位置没有约束。我们用Lij表示通过点i和j的直线。一对这样的线定义了一个双楔形。双楔形称为空的,如果其中不包含P中的点。设计一个计算复杂性为O(n^2)的算法找到集合P中所有空的双楔形。
...全文
162 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cug_fish_2009 2011-06-01
  • 打赏
  • 举报
回复
不好意思,我说错了,是O(n^2logn^2)。
暂时也没想到更好的。就简单说说吧!

枚举两点得到斜率,利用平衡二叉树来存储两点的斜率。
这样在插入时就保证了logn^2的复杂度。
最后只需遍历二叉树,如果该结点只有一次重复,则是空的双楔形。

如果是比赛,这种算法直接可以pass掉,因为平衡二叉树敲起来很费时。
个人非常不喜欢这种算法。
ji414341055 2011-06-01
  • 打赏
  • 举报
回复
去stackoverflow问问吧,那里人比较多,也更热闹些,可能会有人知道。
ji414341055 2011-06-01
  • 打赏
  • 举报
回复
可以从暴力解法开始,一点点优化,我也没想到太好的算法。
eijnim 2011-06-01
  • 打赏
  • 举报
回复
啊,难道没有一个人知道解法?只要有解法就可以,不限制复杂度,各位倒是说一说啊~
oo 2011-05-31
  • 打赏
  • 举报
回复
没看明白
cug_fish_2009 2011-05-31
  • 打赏
  • 举报
回复
只想到了O(n^2logn)的算法,很有挑战啊。继续想。。。
eijnim 2011-05-31
  • 打赏
  • 举报
回复
坐等大牛讲犀利算法,我总觉得可能要用到一个NB的数据结构。
hangxin 2011-05-31
  • 打赏
  • 举报
回复
学习中
eijnim 2011-05-31
  • 打赏
  • 举报
回复
O(n^2*logn)的算法也讲讲呗。。。我现在一点思路都没有。。。
[Quote=引用 1 楼 cug_fish_2009 的回复:]

只想到了O(n^2logn)的算法,很有挑战啊。继续想。。。
[/Quote]
eijnim 2011-05-31
  • 打赏
  • 举报
回复
原来图片链接好像不行了,看这个图。

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧