acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 题解:困牛排序(全站首A)

    题解:困牛排序 算法思路 注意到最优解的形式一定为:找到原数列最长的单调上升连续后缀(即后缀中恰好是连续的若干个整数,且按升序排列)。那么需要进行操作的数就是这个后缀之前的所有数。 把这个后缀存入一个 vectorvectorvector ,然后把前面的数按照顺序插入这个 vectorvectorvector ,同时维护单调性。但是 vectorvectorvector 的插入操作是单次 O(n)O(n)O(n) 的,所以考虑用树状数组,每次查询 vectorvectorvector 中比当前位置小的数量,可以优化单次到 O(log⁡n)O(\log n)O(logn) 。 注意每次查询时除了在树状数组中的查询结果之外,还要加上前缀中的剩余元素,因为操作剩余前缀时当前元素会对应前移。 代码实现

    userId_undefined
    zby_114514
    时间刺客空间掌握者时空双修者秩序白银
    4阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页