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

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 田兵 閱讀(459) 評論(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   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(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>
            久久成人精品| 国产精品高清在线| 亚洲黄网站在线观看| 久久精品视频在线播放| 午夜在线成人av| 久久黄色小说| 久久午夜羞羞影院免费观看| 久久成人在线| 免费观看亚洲视频大全| 美国三级日本三级久久99| 蜜臀a∨国产成人精品| 欧美黄色免费| 99一区二区| 中文亚洲视频在线| 亚洲中无吗在线| 老司机午夜免费精品视频| 欧美区亚洲区| 狠狠色综合色区| 亚洲另类自拍| 久久国内精品视频| 91久久在线| 欧美亚洲在线观看| 欧美精品尤物在线| 国产亚洲精品bv在线观看| 亚洲国产精品t66y| 午夜视频在线观看一区二区| 欧美h视频在线| 亚洲午夜一区二区三区| 久久影视三级福利片| 国产精品xxxxx| 亚洲黄色影片| 久久综合综合久久综合| 亚洲天堂av高清| 欧美激情va永久在线播放| 国产一区二区三区高清在线观看 | 亚洲精一区二区三区| 午夜精品久久久久影视| 欧美国产日韩在线| 性做久久久久久免费观看欧美| 欧美日韩福利在线观看| 亚洲国产精品99久久久久久久久| 欧美一区二区在线免费播放| 亚洲精品日韩欧美| 老司机午夜精品视频在线观看| 国产一区二区精品在线观看| 亚洲自拍三区| 中国亚洲黄色| 国产私拍一区| 欧美成人精品激情在线观看| 国产精品一香蕉国产线看观看| 日韩西西人体444www| 久久亚洲综合色| 欧美伊人久久大香线蕉综合69| 欧美视频日韩视频| 妖精成人www高清在线观看| 欧美成年网站| 美女图片一区二区| 亚洲高清一区二| 欧美成人精品激情在线观看| 欧美一区二区精品| 国产在线视频欧美一区二区三区| 午夜精品久久久久久久99樱桃| 夜夜嗨av一区二区三区网页| 欧美全黄视频| 亚洲天堂男人| 亚洲欧美99| 国内揄拍国内精品久久| 开元免费观看欧美电视剧网站| 久久成人精品视频| 伊人久久久大香线蕉综合直播| 久久久久久久久岛国免费| 久久高清福利视频| 亚洲大胆人体视频| 亚洲高清久久| 欧美日韩综合网| 午夜精品福利视频| 欧美一区二区黄色| 亚洲人成网站777色婷婷| 最新国产成人av网站网址麻豆| 欧美精品乱人伦久久久久久| 亚洲小视频在线观看| 亚洲欧美日韩在线不卡| 狠狠色丁香久久婷婷综合丁香 | 久久九九电影| 亚洲国产精品一区二区尤物区| 亚洲国产欧美一区二区三区久久 | 久久久国产91| 欧美.www| 亚洲欧美视频在线观看视频| 欧美中日韩免费视频| 亚洲欧洲一区二区三区久久| 一本高清dvd不卡在线观看| 国产伦精品一区二区三区四区免费| 久久综合久色欧美综合狠狠| 欧美经典一区二区| 久久久www| 欧美三级电影网| 老司机凹凸av亚洲导航| 欧美日韩视频在线观看一区二区三区| 久久国产精品72免费观看| 久久亚洲风情| 亚洲欧美精品suv| 久久色中文字幕| 亚洲欧美日韩视频一区| 久久综合网色—综合色88| 亚洲视频大全| 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久美女性网| 欧美婷婷久久| 欧美a级片网| 国产亚洲欧美一区在线观看| 亚洲毛片在线看| 亚洲国产成人在线播放| 亚洲综合国产| 亚洲午夜激情免费视频| 免费观看成人www动漫视频| 性感少妇一区| 欧美日韩亚洲一区在线观看| 久久久久久一区| 国产精品日韩精品| 亚洲日本激情| 亚洲黄色天堂| 久久深夜福利免费观看| 久久精品国产99国产精品| 欧美日韩视频一区二区| 欧美激情91| 精品动漫3d一区二区三区免费| 亚洲一区二区免费在线| 亚洲视频综合在线| 欧美日韩精品不卡| 亚洲精选久久| 在线中文字幕日韩| 欧美精品情趣视频| 欧美激情aaaa| 亚洲乱码精品一二三四区日韩在线| 久久激情婷婷| 美女久久一区| 亚洲欧洲精品一区二区| 麻豆成人av| 亚洲精华国产欧美| 亚洲精品免费网站| 欧美精品综合| 99精品国产在热久久下载| 一区二区三区视频在线观看| 欧美日本久久| 亚洲天堂视频在线观看| 亚洲一区二区成人在线观看| 欧美午夜不卡在线观看免费 | 久热re这里精品视频在线6| 国产最新精品精品你懂的| 欧美一区二区三区免费看| 久久久久久久久蜜桃| 精品成人免费| 免费成人高清| 亚洲伦理久久| 欧美一区二区三区成人| 国自产拍偷拍福利精品免费一| 久久精品网址| 91久久精品日日躁夜夜躁欧美| 日韩视频一区二区在线观看 | 亚洲伊人观看| 午夜精品一区二区三区在线播放 | 欧美激情麻豆| 亚洲三级视频| 欧美一区二区三区视频免费| 国产资源精品在线观看| 欧美14一18处毛片| 中文日韩欧美| 久久综合狠狠| 亚洲视屏在线播放| 黄色免费成人| 欧美日韩一区二区三区高清| 欧美一区二区精品久久911| 亚洲国产一区二区视频| 翔田千里一区二区| 亚洲国产欧美精品| 国产精品免费电影| 免费在线成人av| 亚洲欧美国产精品va在线观看| 欧美高清视频在线播放| 亚洲欧美激情四射在线日| 亚洲大黄网站| 国产日韩在线看| 欧美日本一区| 裸体丰满少妇做受久久99精品| 亚洲一区二区成人| 亚洲高清在线| 久久人人爽国产| 性8sex亚洲区入口| 亚洲午夜精品视频| 亚洲精品乱码久久久久久日本蜜臀| 国产欧美日韩另类一区| 欧美理论在线播放| 麻豆av一区二区三区| 久久国产精品久久w女人spa| 亚洲色图自拍| 99re66热这里只有精品4| 欧美激情欧美狂野欧美精品| 欧美一区2区三区4区公司二百| 99精品国产在热久久下载|