动态规划+二分查找

https://leetcode-cn.com/problems/circus-tower-lcci/

题目要求在2个维度上(即身高 + 体重)同时保持递增。
那么我们可以先将其中一个维度排好序,以保证在一个维度上保持递增(此时并非严格递增); 之后就可以专注于处理另一个维度。(相当于求最长递增子序列问题

那么仔细想想为什么体重相同时,身高需要降序排序呢?

  • 因为是体重升序,二分法处理时(从左往右遍历),身高相同的人的集合,自己本身也有可能构成上升子序列,就使得最终答案内可能包含 身高相同,体重递增的结果。
  • 因为是体重降序,二分法处理时(从左往右遍历),身高相同的人的集合 自己本身是无法构成上升子序列,也就不会出现最终答案内包含 身高相同,体重递增的情况

感觉这道题有点问题,可以看看力扣上面的这道题。