给出m个数,求这m个数能够组成的最长的等差数列

绿色夹克衫 2012-08-21 04:56:31
原题

http://www.51nod.com/question/index.html#!questionId=79

只想到一个O(n^2)的办法,空间也是O(n^2),可见算不了太大的,求优化的方法,无论时间或空间。

btw,感觉还是靠分治有出路
...全文
420 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿色夹克衫 2012-08-22
  • 打赏
  • 举报
回复
我也找了一篇论文

http://www.cs.uiuc.edu/~jeffe/pubs/pdf/arith.pdf

后面分治的方法没看懂。

另外空间上有可能优化一下么?类似滚动数组之类的,时间上还是可以接受的,但空间有点大。

[Quote=引用 4 楼 的回复:]
别看了。一般情况下n^2被证明是最优了。
[/Quote]
绿色夹克衫 2012-08-22
  • 打赏
  • 举报
回复
嗯,DP确实可以解。

[Quote=引用 2 楼 的回复:]

最标准的动态规划问题
[/Quote]
FancyMouse 2012-08-22
  • 打赏
  • 举报
回复
别看了。一般情况下n^2被证明是最优了。
绿色夹克衫 2012-08-22
  • 打赏
  • 举报
回复
配上Fancymouse大牛的解说,我能明白这个算法的思路了,我自己琢磨的分治总是在想如何找最长的,人家的方法就是干脆全找出来,你看够不够长。因为鸽巢原理,所以总能在一边找到长度为k/2的序列,并且通过证明,保证数量不会太多。这个思想值得学习,以后碰到需要解决的问题可以多一个思路。
绿色夹克衫 2012-08-22
  • 打赏
  • 举报
回复
论文中说的这个问题是个啥问题?

Another problem related to finding largest arithmetic sequences is finding an element of a multiset with largest multiplicity.

这些单词虽然配上词霸都能认得,但放在一起竟然看不懂。
feathersky 2012-08-22
  • 打赏
  • 举报
回复
最标准的动态规划问题 记录 (方差,数列个数,当前数列最大值)
feathersky 2012-08-22
  • 打赏
  • 举报
回复
最标准的动态规划问题
I'm Daniel Du 2012-08-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

关键是看他第一个问题转化就没看懂,后面看那个复杂度貌似就很不容易理解,反正阅读这类英文的论文,对我来说还是个挺大的障碍。

引用 7 楼 的回复:
另外空间上有可能优化一下么?类似滚动数组之类的,时间上还是可以接受的,但空间有点大。

引用 4 楼 的回复:
别看了。一般情况下n^2被证明是最优了。


那个啊,他找的是所有长度>=k的ar……
[/Quote]
水一个,这个论文的字体太小了(我指的参考文献部分),我开到150%都看不清>_<......
绿色夹克衫 2012-08-22
  • 打赏
  • 举报
回复
关键是看他第一个问题转化就没看懂,后面看那个复杂度貌似就很不容易理解,反正阅读这类英文的论文,对我来说还是个挺大的障碍。

[Quote=引用 7 楼 的回复:]
另外空间上有可能优化一下么?类似滚动数组之类的,时间上还是可以接受的,但空间有点大。

引用 4 楼 的回复:
别看了。一般情况下n^2被证明是最优了。


那个啊,他找的是所有长度>=k的ar……
[/Quote]
FancyMouse 2012-08-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

我也找了一篇论文

http://www.cs.uiuc.edu/~jeffe/pubs/pdf/arith.pdf

后面分治的方法没看懂。

另外空间上有可能优化一下么?类似滚动数组之类的,时间上还是可以接受的,但空间有点大。

引用 4 楼 的回复:
别看了。一般情况下n^2被证明是最优了。
[/Quote]

那个啊,他找的是所有长度>=k的arith progression。然后用lemma 2保证输出不会太大。
至于那个分治,他把数组分左右两半,两半都递归找出所有长度>=k/2(除了数组长度减半,这个k也减半)的a.p.,然后对于每一个找出的a.p.,看看再加上另一半的元素以后能不能伸展到>=k。
还是很好理解的,毕竟才2页的paper。
闲谈共视 2012-08-21
  • 打赏
  • 举报
回复
进不去这个社区啊 !!!需要你要请我加入 嘿嘿
想认识你一下 我的qq号是:1213932667

33,010

社区成员

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

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