设p1,p2,p3~pn……的逆序数为K,那么……pn~p3,p2,p1的逆序数是多少?

问题描述:

设p1,p2,p3~pn……的逆序数为K,那么……pn~p3,p2,p1的逆序数是多少?

首先,我们假设p1,p2,.....pn中各元素的逆序数为t1,t2……,tn
即p1的逆序数是t1(其实t1=0,为说明问题方便,把它写成t1),p2的逆序数是t2……pn的逆序数是tn
另外,由逆序数的定义,可以知道p1,p2,.....pn是互不相同的数字
为作下一步推理,先解释一个结论,即相邻两个数,交换一次,若前一个数比后一个数大,则整个数列的逆序数减1,反之加1
即对数列a,b→b,a
若a>b,则逆序数又1变0,反之由0变1
这样的话,容易知道,对于数列p1,p2,.....pn中一元素pn而言,其逆序数为tn,表明p1,p2,.....pn,在p1,p2,.....pn-1中比pn大的数的个数为tn个,比pn小的数的个数为n-1-tn个
那么p1,p2,.....pn变换为pn,p1,p2,.....pn-1需要经过n-1次相邻变换,且整体考虑的话,其中有tn次逆序数减1的变换,有n-1-tn次逆序数加1的变换,所以pn,p1,p2,.....pn-1的逆序数为k-tn+n-1-tn
同样的道理,对于pn-1而言,对数列pn,p1,p2,.....pn-1而言,在pn,p1,p2,.....pn-2中有tn-1个比之大的数,有n-2个比之小的数字,所以pn,p1,p2,.....pn-1变换为pn,pn-1,p1,p2,.....pn-2,需要经历n-2次变换,且整体考虑的话,要经过tn-1次逆序数减1的变换,有n-1-tn-1次逆序数加1的变换,所以pn,pn-1,p1,p2,.....pn-2的逆序数变为k-tn+n-1-tn-tn-1+n-2-tn-1
……
以上类推,一直变形到pn,......p2,p1,同理可证其逆序数=k-tn+n-1-tn-tn-1+n-2-tn-1-tn-2+n-3-tn-2-……-t1+0-t1=k-2(tn+tn-1+……+t1)+n-1+n-2+……+1
由已知条件知道tn+tn-1+……+t1=k
故变形所得的pn,......p2,p1的逆序数为k-2k+(n-1)n/2=(n-1)n/2-k

t=(n-1)*n/2+k
因为下面的列的逆序数为 (n-1)*n/2
下面的行的逆序数与上面的那个一样,不变的为k.