Jackiesteed

www.github.com/jackiesteed

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年5月27日

摘要: 通过一个case解释算法过程.比如 case :5 9第一步 ,序列为 1 2 3 4 5, 逆序数为 9输出序列中第4个数4,因为 4后面有3个比4小的,而且删掉4后最大还可以得到6个逆序(3+6>=9),所以4符合条件,5也符合,但是5比4大,3或更小不符合.第二步,序列为1 2 3 5, 逆序数为9-3=6输出序列中第4个数5,计算同上....以上每一步计算出应该输出序列中第几个数可以O(1)时间实现,但是对于计算序列中第n个数是几,实现为O(N),N=50000超时,使用线段树可以在O(logN)时间内计算出来,程序的时间复杂度为O(N*logN),得解.源代码:View Cod 阅读全文
posted @ 2011-05-27 10:08 Jackiesteed 阅读(752) 评论(0) 推荐(0) 编辑