摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1394线段树记录区间[a,b]里面出现了多少个数字,查询时只要查询区间[x,n-1]有多少个数出现过,就知道前面有多少个数比x大,也就知道x有多少逆序数。把一个序列最前面的数字x移到最后就会产生n-1-x-x个逆序:x在最前时它后面有x个数(0到x-1)比x小,所以把x移到最后以后逆序数要减x个;x在最前时它后面有n-1-x个数(x+1到n-1)比x大,所以把x移到最后以后逆序数增加n-1-x个;所以,最前面的数字x移到最后就会新产生n-2*x-1个逆序 1 #include <iostream> 阅读全文
posted @ 2012-08-02 10:00 qijinbiao1 阅读(185) 评论(0) 推荐(0) 编辑