A,B两个序列,每个元素表示一个长方形,问A中的长方形最做能覆盖多少个B中的长方形。(覆盖= (Ha >= Hb && Wa >= Wb))
把A,B放到一个集合里,A的元素标记为1,B的元素标记为0,然后按h从大到小排序,h相等按w从大到小排序,h w都相等则A优先在前面。然后遍历整个序列。将A元素的w值放到set里面,碰到B元素的w值则在set里找第一个 >= wB 的数,将这个数从set里删掉,结果累加1。。。
ps: 关键字 multiset lower_bound
本文共 242 字,大约阅读时间需要 1 分钟。
A,B两个序列,每个元素表示一个长方形,问A中的长方形最做能覆盖多少个B中的长方形。(覆盖= (Ha >= Hb && Wa >= Wb))
把A,B放到一个集合里,A的元素标记为1,B的元素标记为0,然后按h从大到小排序,h相等按w从大到小排序,h w都相等则A优先在前面。然后遍历整个序列。将A元素的w值放到set里面,碰到B元素的w值则在set里找第一个 >= wB 的数,将这个数从set里删掉,结果累加1。。。
ps: 关键字 multiset lower_bound
转载地址:http://pavba.baihongyu.com/