唉,没有《金牌之路》就是不爽,这道题目又说是那本书上有的,好像要用到max heap和min heap。
Any way, I can use my own way now.
把box的内容按照输入的顺序存放到array中。我们看到u(N)就是GET操作,相当于在array的前u(N) 个元素中找i-minimum元素。如果array的前u(N)个元素按递增排序好了,那么只要取array[i]就行了。
现在的关键是提高排序的速度。假设u(k)的时候,array[0] .... array[u(k)-1]已经排好序,那么只要先对array[u(k)] ... array[u(k+1)-1]排序,再把二者合并起来就行了。C++ STL提供了所有的功能,sort和merge函数可以直接拿来用。
posted on 2005-08-03 20:51
pumpkin 阅读(400)
评论(0) 编辑 收藏 引用