锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久九九久精品国产,日本精品久久久久久久久免费,久久婷婷五月综合97色直播http://m.shnenglu.com/tianlearn-language/category/14163.htmlzh-cnWed, 23 Mar 2011 08:07:04 GMTWed, 23 Mar 2011 08:07:04 GMT60poj 2299 Ultra-QuickSort 鏍戠姸鏁扮粍http://m.shnenglu.com/tianlearn-language/archive/2011/03/16/142011.html鐢板叺鐢板叺Wed, 16 Mar 2011 12:49:00 GMThttp://m.shnenglu.com/tianlearn-language/archive/2011/03/16/142011.htmlhttp://m.shnenglu.com/tianlearn-language/comments/142011.htmlhttp://m.shnenglu.com/tianlearn-language/archive/2011/03/16/142011.html#Feedback0http://m.shnenglu.com/tianlearn-language/comments/commentRss/142011.htmlhttp://m.shnenglu.com/tianlearn-language/services/trackbacks/142011.html姹傞嗗簭瀵規暟錛屾爲鐘舵暟緇?br>
鏁版嵁鑼冨洿杈冨ぇ錛岃紱繪暎鍖栥?br>
緇欐瘡涓涓暟鎹竴涓猧d錛?絎琲涓暟鎹殑id涓篿銆?鐒跺悗浠庡皬鍒板ぇ鎺掑簭錛屽浜庢瘡涓猧d鍋?ans += read(n) - read(array[i].id)錛宺ead(n) - read(array[i].id)琛ㄧず鍘熸潵鍦ㄥ綋鍓嶆暟鐨勫悗闈紙鍏秈d澶т簬褰撳墠鏁扮殑id錛夛紝
鐜板湪鍦ㄥ綋鍓嶆暟鍓嶉潰鐨勬暟涓暟錛屼篃灝辨槸閫嗗簭瀵規暟銆?/span>


#include<iostream>
#include
<cstring>
#include
<cstdio>
#include
<algorithm>
using namespace std;
const int MAXVAL = 500005;

int tree[MAXVAL] ;
struct Type
{
    
int num, id;
};

int n;
Type array[MAXVAL];

void update(int idx, int inc)  //鏇存柊idx鐨勯鐜?/span>
{
    
while(idx <= n)
    {
        tree[idx] 
+= inc;
        idx 
+= (idx & - idx);
    }
}

int read(int idx)   //璇誨彇1--idx鐨勯鐜囧拰
{
    
int sum = 0;
    
while(idx > 0)
    {
        sum 
+= tree[idx];
        idx 
-= (idx & - idx);
    }
    
return sum;
}

int readSingle(int idx) // 璇誨彇鏌愪釜浣嶇疆鐨勯鐜囷紝 O(lg MAXVAL)
{
     
int sum = tree[idx];
     
if(idx > 0)
     {
         
int z = idx - ( idx & - idx);  
         
         idx 
--;

         
while( idx != z)
         {
              sum 
-= tree[idx];

              idx 
-= (idx & - idx);
         }
     }

     
return sum;
}


bool cmp(const  Type &a, const Type &b)
{
    
return a.num < b.num;
}
int main()
{
    
while (scanf("%d",&n)  && n != 0)    
    {
        memset(array, 
0sizeof (array));
        memset(tree, 
0sizeof tree);

        
// read the data
        for(int i = 1; i <= n; i ++)
        {
            scanf(
"%d",&array[i].num);
            array[i].id 
= i;
        }
    
        sort(array 
+ 1, array + 1 + n, cmp);

        
long long ans = 0;
        
for(int i = 1; i <= n; i ++)
        {
            
//printf( "cal   %d \n",read(n) - read(array[i].id));
            ans += read(n) - read(array[i].id);
            update(  array[i].id, 
1);
        }
            
        cout 
<< ans << endl;
    }


    
return 0;
}


鐢板叺 2011-03-16 20:49 鍙戣〃璇勮
]]>
青春久久| 日韩久久久久久中文人妻| 久久精品男人影院| 久久久久国产| 久久久久久国产精品美女| 色88久久久久高潮综合影院| 亚洲国产精品久久久久| 亚洲精品国产自在久久| 51久久夜色精品国产| 色播久久人人爽人人爽人人片AV| 久久久噜噜噜久久熟女AA片 | 大香伊人久久精品一区二区| 无码人妻少妇久久中文字幕蜜桃| 色综合合久久天天综合绕视看| 波多野结衣久久一区二区| 97久久精品无码一区二区| 国产精品乱码久久久久久软件| 久久国产精品99久久久久久老狼| 亚洲国产成人久久综合区| 丁香久久婷婷国产午夜视频| 色综合久久久久久久久五月| 偷偷做久久久久网站| 久久无码人妻精品一区二区三区| 99久久婷婷免费国产综合精品| 午夜天堂精品久久久久| 国产亚洲美女精品久久久2020| 久久久久亚洲AV无码专区桃色| 精品久久久久一区二区三区| 久久99国产精品久久| 国产精品久久久久aaaa| 91精品国产综合久久久久久| 久久亚洲AV成人出白浆无码国产 | 无码国内精品久久人妻麻豆按摩| 国产精品九九九久久九九| 久久国产精品99精品国产| 久久久久亚洲AV无码永不| 久久婷婷五月综合97色| 久久精品国产第一区二区三区| 午夜不卡久久精品无码免费| 久久久久久亚洲AV无码专区| 国产V亚洲V天堂无码久久久|