http://www.1point3acres.com/bbs/thread-13238-1-1.html
| A circus is designing a tower routine consisting of people standing atop one another’s shoulders. For practical and aesthetic reasons, each person must be both shorter and lighter than the person below him or her. Given the heights and weights of each person in the circus, write a method to compute the largest possible number of people in such a tower. EXAMPLE: Input (ht, wt): (65, 100) (70, 150) (56, 90) (75, 190) (60, 95) (68, 110) Output: The longest tower is length 6 and includes from top to bottom: (56, 90) (60,95) (65,100) (68,110) (70,150) (75,190) |
有两种方法:
1. 按照高度排序,为A
2. 按照体重排序,为B
3. 求A和B的最长公共子序列
第二种方法:
按照高度排序,然后找体重的最长上升序列
本文讨论了如何计算马戏团中人们站在彼此肩膀上形成的最大可能人数的塔。通过按照高度和体重排序,然后寻找最长公共子序列来解决此问题。
404

被折叠的 条评论
为什么被折叠?



