acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 正经题解|拳击教练

    题目解析 对于每一个选手,我们需要找到能力值比他小的选手的数量,并且要排除死对头的情况。 我们可以先把所有选手的能力值,从小到大排序。 如 原序列为:10 4 10 15,排序后 4 10 10 15。 那么如果我们想找到所有能力值低于10的选手数量,那么只需要找到大于等于10在序列中出现的第一个位置。这里大于等于10能力值的位置为222,则有 2−12 - 12−1 个人的能力值小于10,那这里就可以用二分去做了。 那么如处理,死对头呢?因为现在的答案是包含有死对头的情况的。 对于每个选手,我们只需要记录,所有能力值比这个选手小的,并且还是死对头的数量,这个可以在建立死对头关系的时候就处理。 AC代码 复杂度 对于每个选手都要进行一次二分查找,则复杂度为 O(n⋅log2n)O(n \cdot log_{2} n)O(n⋅log2 n)。

    userId_undefined

    AC君

    管理员
    倔强青铜
    24阅读
    0回复
    0点赞
  • 题解

    userId_undefined

    码农爱历史

    倔强青铜
    13阅读
    0回复
    0点赞
  • AC

    userId_undefined

    TN Hacker

    荣耀黄金
    1阅读
    0回复
    0点赞
首页