n 段泊位占用的总对数为 2n(n−1)。冲突对数等于总对数减去互不相交的对数。
两段 [lu,ru]、[lv,rv] 不相交当且仅当 ru<lv 或 rv<lu。将所有占用按左端点升序排序后,对当前段只需统计已经处理过、且右端点小于当前左端点的段数,这些就是与当前段不相交的对。
右端点值域达到 1000000000,先离散化,再用树状数组维护已出现右端点的个数,即可在 O(logn) 内完成前缀查询与插入。
港口调度中心把一天内的靠泊计划记成 n 段占用。第 i 段覆盖闭区间 [li,ri](端点计入)。两艘船的占用时段一旦相交,就不能同时使用同一泊位,调度员需要事先清点这样的冲突对。
两段不同占用 u 与 v(uev)发生冲突,当且仅当它们的覆盖区间有交集,即
min(ru,rv)≥max(lu,lv)。
请统计有多少对占用发生冲突。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册