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

M.J的blog

algorithm,ACM-ICPC
隨筆 - 39, 文章 - 11, 評論 - 20, 引用 - 0
數據加載中……

POJ.2299 Ultra-QuickSort【樹狀數組+離散化】

一個求逆序對的題,N個數,N<=500000,問排成遞增序列需要相鄰的數交換多少次。一開始沒有仔細看題,上來就做,后來才發現數的范圍是999999999。因為最多500000個數,所以數和數之間的間隔很大,可以處理一下,使數的間隔變小,然后使用樹狀數組統計某個數前邊的比它大的數的個數。將所有的數放到一個結構體里,稱作num,并增加一個成員id,然后按num遞增排列,再另開一個數組給每個數重新編號,使數的范圍都在N以內。然后就可以很自然的用樹狀數組做了。時間500ms。據說歸并排序比這個要快。
Code:
 1 #include<iostream>
 2 #include<algorithm>
 3 #define M 500001
 4 using namespace std;
 5 int c[M],aa[M],n;                   //aa數組為排序后重新編號用
 6 struct digit
 7 {
 8     int num,id;
 9 }a[M];                              //num為數的大小
10 bool cmp(digit a,digit b){
11     return a.num<b.num;
12 }
13 int lowbit(int t){                 
14     return t&(t^(t-1));
15 }
16 int sum(int t){
17     int total=0;
18     while(t>0){
19         total+=c[t];
20         t-=lowbit(t);
21     }
22     return total;
23 }
24 void update(int t,int key){
25     while(t<=n){
26         c[t]+=key;
27         t+=lowbit(t);
28     }
29 }
30 int main()
31 {
32     int i,j;
33     long long ans;
34     while(scanf("%d",&n),n){
35         memset(c,0,sizeof(c));
36         ans=0;
37         for(i=1;i<=n;i++){
38             scanf("%d",&a[i].num);
39             a[i].id=i;
40         }
41         sort(a+1,a+n+1,cmp);
42         aa[a[1].id]=1;                                 //最小的數編號為1
43         for(i=2;i<=n;++i){
44             if(a[a[i].id].num!=a[a[i-1].id].num)      //如果前后兩個數不等,則編號為下標
45                 aa[a[i].id]=i;
46             else
47                 aa[a[i].id]=aa[a[i-1].id];            //否則編號與前一個相同
48         }
49         //for(i=1;i<=n;i++) printf("%d ",aa[i]);
50         for(i=1;i<=n;++i){
51             update(aa[i],1);
52             ans+=(sum(n)-sum(aa[i]));                 //每次累加該數前邊比它大的數的個數
53         }
54         printf("%lld\n",ans);
55     }
56 }

posted on 2010-05-03 17:24 M.J 閱讀(1052) 評論(2)  編輯 收藏 引用

評論

# re: POJ.2299 Ultra-QuickSort【樹狀數組+離散化】  回復  更多評論   

排序用sort不太妥當吧 sort是不穩定排序 如果給定的序列存在多個相同的元素會出現錯誤吧 盡管這個程序oj上能ac。
大概oj上給定的數據是互不相同的吧
2011-04-12 09:25 | 銀志圓

# re: POJ.2299 Ultra-QuickSort【樹狀數組+離散化】  回復  更多評論   

stable_sort可以實現穩定排序
2011-04-12 10:21 | 銀志圓
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精自产拍久久久久久| 欧美国产精品| 国产视频在线观看一区| 欧美激情片在线观看| 欧美激情一区二区三级高清视频| 久久伊人亚洲| 欧美精品一区二区三| 欧美三区在线视频| 国产视频一区在线| 亚洲黄色一区| 久久久精品免费视频| 亚洲一区二区在线播放| 久久精品亚洲国产奇米99| 欧美中文字幕视频| 嫩草影视亚洲| 一本色道**综合亚洲精品蜜桃冫| 亚洲欧美国产精品桃花 | 亚洲黄色性网站| 欧美激情视频在线播放| 夜夜嗨av一区二区三区网站四季av| 亚洲欧美日韩天堂| 欧美大片第1页| 国产亚洲欧美另类一区二区三区| 亚洲精品一区在线观看香蕉| 欧美一区二区三区婷婷月色 | 亚洲国产精品一区二区尤物区 | 最近看过的日韩成人| 西瓜成人精品人成网站| 欧美成人国产一区二区| 亚洲视频专区在线| 欧美成人亚洲成人| 一区二区三区中文在线观看| 国产日韩综合一区二区性色av| 在线播放日韩欧美| 亚洲欧美影院| 日韩午夜免费视频| 女人天堂亚洲aⅴ在线观看| 国产嫩草影院久久久久| 亚洲一区二区精品视频| 欧美黄色网络| 久久久久久久一区| 国产有码在线一区二区视频| 亚洲欧美日韩精品久久| 亚洲精品欧美专区| 欧美成人a视频| 永久91嫩草亚洲精品人人| 久久精品2019中文字幕| 亚洲欧美国产77777| 国产精品欧美精品| 亚洲一区二区三区精品在线观看| 亚洲激情中文1区| 欧美成人精品| 亚洲精品国产精品久久清纯直播| 你懂的成人av| 毛片av中文字幕一区二区| 一区二区三区在线视频播放| 久久视频一区二区| 久久国产精品一区二区三区四区 | 91久久精品一区二区三区| 久久久久久电影| 黄色精品在线看| 久久久精品视频成人| 欧美一级理论片| 韩国女主播一区| 久久综合伊人77777| 久久精品国产99精品国产亚洲性色 | 亚洲精选中文字幕| 欧美日韩亚洲一区在线观看| 99精品热视频| 中文精品视频| 国产一区二区三区av电影 | 国产在线拍揄自揄视频不卡99 | 欧美激情性爽国产精品17p| 久久嫩草精品久久久久| 亚洲国产精品久久人人爱蜜臀 | 亚洲一区二区影院| 好吊色欧美一区二区三区四区| 美女啪啪无遮挡免费久久网站| 久久伊人亚洲| 一本色道久久综合亚洲精品不| av不卡免费看| 国产午夜久久| 亚洲国产成人在线视频| 国产精品s色| 美女精品在线| 欧美日韩亚洲视频一区| 久久裸体视频| 欧美伦理a级免费电影| 性欧美暴力猛交另类hd| 久久精品一区二区三区不卡牛牛| 亚洲破处大片| 亚洲永久免费精品| 亚洲激情二区| 亚洲欧美一区二区三区极速播放 | 国产精品亚洲成人| 亚洲电影有码| 国产日韩精品电影| 亚洲三级观看| 黑人极品videos精品欧美裸| 亚洲精品一区在线| 伊人成人在线| 亚洲欧美一区二区三区极速播放| 亚洲精品午夜| 久久久久国产一区二区三区四区 | 国产精品天美传媒入口| 欧美成人资源| 国产欧美va欧美不卡在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美视频一区在线| 亚洲成人资源网| 欧美在线日韩精品| 一区二区三区精品在线| 久久久www成人免费精品| 亚洲欧美不卡| 欧美日韩成人在线播放| 欧美国产日韩一区二区三区| 国产一区二区看久久| 亚洲专区欧美专区| 亚洲视频碰碰| 欧美激情综合五月色丁香| 久久夜色精品国产欧美乱极品| 国产精品jizz在线观看美国 | 久久亚洲美女| 麻豆久久婷婷| 国语自产精品视频在线看8查询8| 亚洲午夜精品久久| 亚洲一级二级在线| 欧美性事免费在线观看| 99re6热只有精品免费观看| 日韩视频免费在线| 欧美黄色aa电影| 亚洲黄色av一区| 99爱精品视频| 欧美日韩在线影院| 亚洲午夜小视频| 欧美一区激情| 国产亚洲aⅴaaaaaa毛片| 欧美一区二区日韩一区二区| 久久精品免费看| 黄色日韩网站视频| 久久一区二区三区国产精品| 另类成人小视频在线| 在线免费观看一区二区三区| 老司机免费视频久久| 亚洲高清资源综合久久精品| 日韩一区二区高清| 欧美视频在线播放| 亚洲欧美999| 久久一区二区三区超碰国产精品| 黄色工厂这里只有精品| 欧美丰满高潮xxxx喷水动漫| 亚洲乱码久久| 香蕉免费一区二区三区在线观看| 国产欧美精品一区aⅴ影院| 欧美在线一区二区| 亚洲国产综合在线看不卡| 亚洲图片在线| 狠狠色狠狠色综合系列| 欧美福利视频在线| 亚洲性av在线| 欧美mv日韩mv国产网站| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲一区二区三区国产| 久久精品在线播放| 亚洲人www| 欧美视频中文一区二区三区在线观看| 亚洲一级黄色片| 蜜月aⅴ免费一区二区三区| 日韩亚洲视频在线| 先锋影音国产一区| 欧美日韩综合在线| 欧美在线网站| 日韩一级在线| 蜜桃av一区二区在线观看| 一本大道久久a久久精二百| 国产欧美在线播放| 欧美日韩高清在线一区| 久久久91精品国产一区二区精品| 亚洲精品一二三| 久久久久一区| 亚洲免费在线看| 亚洲激情在线观看视频免费| 国产精品久久久久aaaa樱花| 麻豆视频一区二区| 亚洲欧美一区二区三区久久 | 国产在线精品一区二区中文| 欧美日韩一区在线观看视频| 久久久青草青青国产亚洲免观| 在线视频欧美日韩| 欧美成人日本| 久久精品国产亚洲一区二区三区| 一区二区欧美日韩| 亚洲福利专区| 黄色成人在线观看| 国产原创一区二区| 国产精品亚洲一区| 欧美网站在线观看| 欧美人与性动交α欧美精品济南到 | 亚洲人成高清| 亚洲韩国青草视频|