HDU 1394:Minimum Inversion Number(树状数组,线段树)[水]
摘要:
题意:有0~n-1这n个数,以一定的排列。这个排列可以循环,就是可以把第一个拿到最后,然后形成新的排列。问这些排列中的逆序对最小值。思路:最后的循环,拿走一个之后,新的逆序对数 newsum = oldsum - nowni + ((n-1)-nowni)其中 ,nowni表示这个数所构成的逆序对数。Nowni = 原数列中此数往后构成的逆对数 + 原数列中此数往前构成的非逆对数。然后那两个辅助数组,就可以用扫描循环,然后求前面(或后面)比现在这个数大的(或小的)的数有多少。典型的树状数组。为了练习线段树,所以写了。//18:34//18:53//19:02//19:08 过#include 阅读全文
posted @ 2014-03-17 19:35 ShineCheng 阅读(174) 评论(0) 推荐(0)