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

M.J的blog

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

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

一個求逆序?qū)Φ念},N個數(shù),N<=500000,問排成遞增序列需要相鄰的數(shù)交換多少次。一開始沒有仔細看題,上來就做,后來才發(fā)現(xiàn)數(shù)的范圍是999999999。因為最多500000個數(shù),所以數(shù)和數(shù)之間的間隔很大,可以處理一下,使數(shù)的間隔變小,然后使用樹狀數(shù)組統(tǒng)計某個數(shù)前邊的比它大的數(shù)的個數(shù)。將所有的數(shù)放到一個結(jié)構(gòu)體里,稱作num,并增加一個成員id,然后按num遞增排列,再另開一個數(shù)組給每個數(shù)重新編號,使數(shù)的范圍都在N以內(nèi)。然后就可以很自然的用樹狀數(shù)組做了。時間500ms。據(jù)說歸并排序比這個要快。
Code:
 1 #include<iostream>
 2 #include<algorithm>
 3 #define M 500001
 4 using namespace std;
 5 int c[M],aa[M],n;                   //aa數(shù)組為排序后重新編號用
 6 struct digit
 7 {
 8     int num,id;
 9 }a[M];                              //num為數(shù)的大小
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;                                 //最小的數(shù)編號為1
43         for(i=2;i<=n;++i){
44             if(a[a[i].id].num!=a[a[i-1].id].num)      //如果前后兩個數(shù)不等,則編號為下標
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]));                 //每次累加該數(shù)前邊比它大的數(shù)的個數(shù)
53         }
54         printf("%lld\n",ans);
55     }
56 }

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

評論

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

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

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

stable_sort可以實現(xiàn)穩(wěn)定排序
2011-04-12 10:21 | 銀志圓

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


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美成黄导航| 亚洲日本va在线观看| 午夜精品国产更新| 国产精品亚洲视频| 欧美一区二区三区免费视频| 亚洲欧美日韩国产一区二区三区 | 欧美国产极速在线| 美女视频黄 久久| 亚洲精品偷拍| 一区二区三区免费观看| 国产日韩综合一区二区性色av| 久久国产精品亚洲va麻豆| 久久精品国产第一区二区三区| 在线免费观看日韩欧美| 最近看过的日韩成人| 国产精品www网站| 欧美诱惑福利视频| 久久字幕精品一区| 国产精品99久久久久久久久久久久| 亚洲午夜女主播在线直播| 国产日产精品一区二区三区四区的观看方式| 欧美伊人久久| 欧美xart系列高清| 性久久久久久久久久久久| 久久精品三级| 亚洲一级二级在线| 久久综合一区| 午夜精品电影| 免费看精品久久片| 性色一区二区三区| 欧美激情在线| 久久精品99无色码中文字幕 | 欧美伊人影院| 一区二区欧美日韩视频| 久久成人免费| 亚洲午夜伦理| 欧美成年人网| 久久性色av| 国产精品免费一区二区三区观看| 老司机免费视频一区二区| 国产精品a久久久久| 欧美激情第4页| 国产一区视频网站| 亚洲一区二区成人| 一区二区欧美在线| 久久综合九色99| 久久久久久有精品国产| 国产精品久久久久久久久免费桃花| 免费观看成人www动漫视频| 国产精品一区二区三区久久 | 久久偷窥视频| 国产精品资源| 在线视频日韩| 亚洲一区二区黄色| 欧美精品一区在线发布| 欧美xart系列高清| 国产一区二区三区电影在线观看| 9i看片成人免费高清| 最新69国产成人精品视频免费| 久久成人精品视频| 久久精品国产一区二区电影| 国产精品免费网站| 亚洲视频一区在线观看| 亚洲一本大道在线| 欧美四级在线观看| 一区二区三区**美女毛片| av72成人在线| 欧美视频在线观看免费网址| 91久久精品日日躁夜夜躁欧美 | 一级成人国产| 欧美日韩国产免费| 亚洲美女在线观看| 亚洲四色影视在线观看| 欧美日韩色一区| 亚洲私人影院在线观看| 亚洲免费在线电影| 国产日韩精品久久| 久久久九九九九| 另类尿喷潮videofree | 国产精品成人一区二区| 亚洲视频中文| 欧美在线视频全部完| 国产深夜精品| 美女精品网站| 日韩亚洲欧美成人| 欧美一区二区三区精品电影| 国产字幕视频一区二区| 久久嫩草精品久久久精品| 欧美国产1区2区| 亚洲视频大全| 国产亚洲精品美女| 免费日韩av电影| 亚洲精品国久久99热| 欧美亚洲视频在线观看| 激情综合激情| 欧美日韩免费一区二区三区| 午夜精品久久久久久久男人的天堂 | 一区二区日本视频| 国产欧美精品日韩精品| 久久婷婷色综合| 在线视频亚洲一区| 免费观看日韩av| 一区二区国产精品| 国语自产精品视频在线看抢先版结局| 乱人伦精品视频在线观看| 日韩一级片网址| 免费高清在线一区| 亚洲免费一级电影| 亚洲欧洲精品一区二区三区不卡 | 久久亚洲精品网站| 一区二区三区欧美在线| 久久综合色综合88| 亚洲一区二区免费| 亚洲欧洲精品一区二区精品久久久 | 小处雏高清一区二区三区| 欧美激情一区二区三区蜜桃视频 | 亚洲精品在线观| 久久亚洲精品一区二区| 国产精品99久久久久久有的能看| 狠狠色丁香婷综合久久| 国产精品无人区| 蜜桃av噜噜一区| 久久成人人人人精品欧| 日韩性生活视频| 女人天堂亚洲aⅴ在线观看| 欧美一区二区三区的| 国产精品99久久久久久白浆小说| 亚洲大片在线观看| 国产亚洲激情在线| 国产精品亚洲а∨天堂免在线| 欧美激情1区2区3区| 久久久免费av| 欧美一区二区三区四区在线观看地址| 99在线热播精品免费| 亚洲国产精品嫩草影院| 欧美成人精品高清在线播放| 久久久av毛片精品| 久久成人综合网| 性色一区二区| 午夜免费在线观看精品视频| 亚洲午夜精品久久久久久浪潮| 亚洲精品视频在线观看免费| 91久久精品www人人做人人爽| 激情一区二区| 亚洲第一区中文99精品| 亚洲第一天堂无码专区| 在线观看欧美激情| 在线不卡免费欧美| 亚洲激情一区二区三区| 亚洲第一视频| 亚洲精品之草原avav久久| 亚洲日本va午夜在线电影| 亚洲免费观看在线观看| 夜夜嗨av一区二区三区免费区| 日韩天堂在线观看| 99日韩精品| 午夜精品一区二区在线观看| 欧美一区永久视频免费观看| 销魂美女一区二区三区视频在线| 香蕉亚洲视频| 久久人人97超碰人人澡爱香蕉| 猛干欧美女孩| 最近中文字幕日韩精品| 9色精品在线| 亚洲欧美一区二区三区极速播放| 欧美亚洲一区| 久久阴道视频| 欧美日韩激情小视频| 国产精品永久入口久久久| 国产中文一区| 亚洲狼人精品一区二区三区| 亚洲免费视频成人| 久久亚洲综合色一区二区三区| 欧美sm视频| 一区二区三区欧美日韩| 欧美一区二区三区在| 欧美成人中文字幕| 国产精品高潮呻吟久久av无限| 国产一区 二区 三区一级| 亚洲国产精品123| 在线视频亚洲欧美| 久久九九国产精品怡红院| 欧美国产一区二区三区激情无套| 亚洲毛片在线免费观看| 欧美在线播放一区| 欧美噜噜久久久xxx| 国产一二三精品| 亚洲视频第一页| 久久尤物视频| 亚洲视频观看| 免费美女久久99| 国产日韩视频一区二区三区| 亚洲精品资源| 蜜臀va亚洲va欧美va天堂| aa级大片欧美| 玖玖精品视频| 国内综合精品午夜久久资源| 亚洲视频www| 亚洲欧洲视频在线| 久久精品一区二区三区不卡牛牛|