第二题超时是因为你每次询问都要找最大值,这个操作是O(n).
你可以用链表按顺序从大到小跟踪所有片段的大小,.每次你新进行一个分割,只需要将原节点替换为两个新节点,然后让这两个节点往后转移,直到满足降序就可以. 跟堆排的思想比较像
然后询问就变成O(1)了
你可以用链表按顺序从大到小跟踪所有片段的大小,.每次你新进行一个分割,只需要将原节点替换为两个新节点,然后让这两个节点往后转移,直到满足降序就可以. 跟堆排的思想比较像
然后询问就变成O(1)了
点赞 1 评论 8
全部评论
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享