多米诺骨牌问题

messihahahehe 2010-11-08 06:02:21
多米诺骨牌
现有n块”多米诺骨牌”s1,s2,s3,...sn水平放成一排,每次骨牌si包含左右两个部分,每个部分赋予一个非负整数值,如下图所示为包含6块骨牌的序列.骨牌可做180度旋转,使得原来在左边的值变到右边,而原来右边的值移到左边,假设不论si如何旋转,L[i]总是存储si左边的值, R[i]总是存储si右边的值, W[i]用于存储si的状态:当L[i]<=R[i]时记为0,否则记为1,试采用分治法设计算法求:R[1]*L[2]+R[2]*L[3]+R[3]*L[4]+R[4]*L[5]+...++R[n-1]*L[n]的最大值,以及当取得最大值时每个骨牌的状态.
5|8 4|2 9|6 7|7 3|9 11|10
s1 s2 s3 s4 s5 s6
请各位仁兄讲讲解题的思路,小弟不甚感激!
...全文
983 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyxmfddm 2011-11-03
  • 打赏
  • 举报
回复
哥们,你也上薛老师的课了把,呵呵,百度文库里有解法的
yayang17 2010-11-09
  • 打赏
  • 举报
回复
应该是n^2
yayang17 2010-11-09
  • 打赏
  • 举报
回复
看条件限制。容易设计O(n^4)的分治算法。
marswyz 2010-11-09
  • 打赏
  • 举报
回复
一定要分治吗?如果可以递归的话,倒是不难做
lz89love 2010-11-08
  • 打赏
  • 举报
回复
很期待、、、

33,010

社区成员

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

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