青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

poj 2299 Ultra-QuickSort 樹狀數組

求逆序對數,樹狀數組

數據范圍較大,要離散化。

給每一個數據一個id, 第i個數據的id為i。 然后從小到大排序,對于每個id做 ans += read(n) - read(array[i].id),read(n) - read(array[i].id)表示原來在當前數的后面(其id大于當前數的id),
現在在當前數前面的數個數,也就是逆序對數。


#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的頻率
{
    
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;
}

posted on 2011-03-16 20:49 田兵 閱讀(460) 評論(2)  編輯 收藏 引用 所屬分類: 數據結構

評論

# re: poj 2299 Ultra-QuickSort 樹狀數組 2011-04-12 09:25 銀志圓

排序用sort不太妥當吧 sort是不穩定排序 如果給定的序列存在多個相同的元素會出現錯誤吧 盡管這個程序oj上能ac。
大概oj上給定的數據是互不相同的吧   回復  更多評論   

# re: poj 2299 Ultra-QuickSort 樹狀數組 2011-04-19 21:27 田兵

有個id, id小的在前面  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2010年5月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

導航

統計

常用鏈接

留言簿(2)

隨筆分類(65)

隨筆檔案(65)

文章檔案(2)

ACM

搜索

積分與排名

最新隨筆

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美国产视频日韩| 欧美mv日韩mv国产网站app| 久久精品国产91精品亚洲| 免费永久网站黄欧美| 亚洲国产欧美在线人成| 欧美成人精品| 在线国产精品播放| 国产精品永久在线| 久久久伊人欧美| 久久综合色天天久久综合图片| 亚洲一区在线免费观看| 精品96久久久久久中文字幕无| 日韩视频国产视频| 国产一区二区精品丝袜| 久久久最新网址| 极品av少妇一区二区| 久久成年人视频| 亚洲欧美中文另类| 国产一区二区精品在线观看| 男人的天堂亚洲在线| 国产精品毛片va一区二区三区| 亚洲欧美久久久久一区二区三区| 午夜精品久久久久久久久久久| 快she精品国产999| 亚洲三级视频在线观看| 午夜综合激情| 亚洲欧美色婷婷| 美女国内精品自产拍在线播放| 小黄鸭视频精品导航| 亚洲大胆人体在线| 亚洲欧洲日韩综合二区| 亚洲男人第一网站| 日韩视频在线观看国产| 欧美成人精品影院| 一区二区三区四区五区精品| 久久av二区| 国产亚洲免费的视频看| 欧美在线中文字幕| 91久久久在线| 国产精品永久入口久久久| 欧美黑人国产人伦爽爽爽| 亚洲精品久久久久久一区二区| 亚洲精品日产精品乱码不卡| 亚洲国产一区在线| 9l国产精品久久久久麻豆| 亚洲精品国产系列| 欧美激情久久久久久| 午夜欧美电影在线观看| 国产亚洲精品久久久久婷婷瑜伽 | 久久精品免费电影| 99视频热这里只有精品免费| 日韩一级二级三级| 乱人伦精品视频在线观看| 国产一区二区毛片| 亚洲一区二区三区免费观看 | 亚洲欧洲日韩在线| 美女黄毛**国产精品啪啪| 亚洲网站在线观看| 一本一本久久a久久精品综合麻豆| 亚洲欧洲一二三| 亚洲免费在线观看| 美日韩免费视频| 亚洲人成网站影音先锋播放| 亚洲高清网站| 久久综合色综合88| 欧美在线三区| 欧美激情亚洲精品| 久久婷婷丁香| 亚洲午夜久久久久久久久电影院| 亚洲另类视频| 亚洲视频一区在线观看| 麻豆精品视频| 欧美aa国产视频| 欧美国产一区二区在线观看| 久久www免费人成看片高清| 久久午夜精品一区二区| 午夜精品久久久久久久久久久久久 | 国产精品福利久久久| 久久精品日韩| 免费久久精品视频| 欧美色另类天堂2015| 欧美亚洲一区| 亚洲精品久久久一区二区三区| 亚洲午夜视频| 日韩一区二区电影网| 欧美日韩一区二区国产| 久久gogo国模裸体人体| 亚洲一品av免费观看| 亚洲第一二三四五区| 欧美激情视频免费观看| 亚洲尤物视频在线| 国产欧美日韩激情| 久久精品日韩欧美| 久久免费视频在线| 亚洲激情一区二区| 亚洲国产精品电影| 欧美日本韩国一区| 久久久免费av| 国产一二精品视频| 国产午夜精品一区理论片飘花| 99国产精品久久久久久久| 亚洲国产导航| 欧美大片在线影院| 99精品久久久| 一本一本久久| 国产日韩在线播放| 欧美高清视频在线| 欧美午夜视频网站| 久久久精品国产免费观看同学| 欧美在线|欧美| 亚洲精选国产| 亚洲理论在线| 亚洲亚洲精品在线观看| 国内精品一区二区三区| 亚洲国产第一页| 国产精品久久激情| 韩国成人福利片在线播放| 欧美成人免费一级人片100| 亚洲黄色av一区| 久久夜色精品国产欧美乱极品 | 欧美国产精品中文字幕| 欧美a级片一区| 国产精品一区二区在线观看不卡| 久久精品99无色码中文字幕| 欧美电影免费网站| 国产精品入口| 99ri日韩精品视频| 亚洲精品视频在线播放| 亚洲综合99| 欧美激情第二页| 在线播放日韩| 欧美日韩国产综合新一区| 国内外成人在线| 欧美激情在线有限公司| 99re66热这里只有精品4| 欧美视频在线免费看| 亚洲一区国产| 亚洲一区二区高清| 久久综合激情| 9l国产精品久久久久麻豆| 国产一区二区三区四区三区四 | 午夜精品久久99蜜桃的功能介绍| 国产私拍一区| 亚洲毛片在线观看.| 久久精品卡一| 夜色激情一区二区| 精品动漫av| 国产精品美女一区二区| 欧美成人免费网站| 久久影院亚洲| 欧美在线观看视频一区二区三区 | 欧美资源在线观看| 99国产精品久久久| 欧美黄色成人网| 久久色在线播放| 午夜欧美精品久久久久久久| 久热精品视频在线| 亚洲欧美影音先锋| 在线亚洲一区观看| 亚洲精品久久久久中文字幕欢迎你| 久久久国产成人精品| 亚洲欧美激情一区| 欧美激情91| 免费不卡在线观看av| 久久国产视频网| 欧美一级电影久久| 亚洲欧美美女| 宅男在线国产精品| 亚洲精品老司机| 精品999在线观看| 国产色视频一区| 国产农村妇女毛片精品久久莱园子 | 影音先锋国产精品| 亚洲福利在线视频| 另类专区欧美制服同性| 国产一区二区三区久久精品| 欧美丝袜一区二区三区| 欧美日韩高清免费| 欧美日韩国产首页在线观看| 欧美大尺度在线| 欧美激情1区2区3区| 欧美激情一区二区三区在线视频| 老司机午夜精品视频| 久久午夜电影网| 欧美成年人网| 亚洲福利视频一区| 亚洲精品系列| 一本大道久久a久久精品综合| 99re热这里只有精品视频| 99精品久久久| 欧美一区二视频在线免费观看| 亚洲欧美中文日韩v在线观看| 国产精品久久久久久久浪潮网站| 欧美日韩在线观看视频| 国产精品久久久久9999高清| 国产精品一区二区男女羞羞无遮挡| 国产精品丝袜久久久久久app| 国产伦精品一区二区| 久久九九国产精品| 欧美成人久久|