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

M.J的blog

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

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

一個求逆序對的題,N個數(shù),N<=500000,問排成遞增序列需要相鄰的數(shù)交換多少次。一開始沒有仔細看題,上來就做,后來才發(fā)現(xiàn)數(shù)的范圍是999999999。因為最多500000個數(shù),所以數(shù)和數(shù)之間的間隔很大,可以處理一下,使數(shù)的間隔變小,然后使用樹狀數(shù)組統(tǒng)計某個數(shù)前邊的比它大的數(shù)的個數(shù)。將所有的數(shù)放到一個結構體里,稱作num,并增加一個成員id,然后按num遞增排列,再另開一個數(shù)組給每個數(shù)重新編號,使數(shù)的范圍都在N以內。然后就可以很自然的用樹狀數(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 閱讀(1052) 評論(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 | 銀志圓
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            在线视频精品一区| 亚洲精品一区二区三区蜜桃久| 亚洲一区综合| 亚洲视频欧美在线| 国产精品入口日韩视频大尺度| 欧美一进一出视频| 亚洲欧美日韩专区| 悠悠资源网久久精品| 欧美黄色成人网| 欧美另类videos死尸| 亚洲欧美日韩在线高清直播| 香蕉av777xxx色综合一区| 韩国精品一区二区三区| 国产精品视频网| 国产精品一页| 欧美+日本+国产+在线a∨观看| 欧美大色视频| 宅男噜噜噜66国产日韩在线观看| 亚洲影院在线| 亚洲国产高清一区| 亚洲免费一在线| 亚洲高清视频在线| 亚洲视频一二区| 亚洲缚视频在线观看| 日韩一级视频免费观看在线| 国产日韩精品一区二区三区| 欧美gay视频| 国产精品萝li| 亚洲国产99| 国产精品人人做人人爽人人添| 久久免费视频在线| 国产精品videosex极品| 欧美国产免费| 国产精品日韩欧美一区| 欧美黄色影院| 国产一区二区三区直播精品电影| 亚洲精品日韩久久| 91久久久久久| 久久婷婷蜜乳一本欲蜜臀| 亚洲影院色在线观看免费| 久久香蕉国产线看观看网| 香蕉亚洲视频| 欧美日韩在线播放一区| 欧美福利一区二区| 精品盗摄一区二区三区| 亚洲一区国产视频| 亚洲永久视频| 欧美色欧美亚洲另类二区| 亚洲第一在线综合网站| 尤物九九久久国产精品的特点| 亚洲一区二区三区视频播放| 在线一区欧美| 欧美视频在线观看免费| 亚洲卡通欧美制服中文| 91久久精品美女高潮| 久久久久久久久久久久久女国产乱 | 国产精品久久久久久久午夜| 99re6这里只有精品| 一区二区三区 在线观看视| 美女主播一区| 亚洲第一主播视频| 亚洲国产日韩欧美在线动漫| 久久夜色精品国产欧美乱| 久久综合福利| 亚洲国产99| 美腿丝袜亚洲色图| 欧美电影免费网站| 亚洲国产欧美日韩精品| 免费在线日韩av| 亚洲区第一页| 亚洲一区二区毛片| 国产精品进线69影院| 亚洲免费视频网站| 久久精品99国产精品| 黄色国产精品| 欧美精品www在线观看| 一区二区三区无毛| 亚洲国产精品成人综合| 亚洲国产美女精品久久久久∴| 麻豆精品视频在线| 亚洲精选一区| 欧美夜福利tv在线| 一区二区亚洲精品| 欧美黄色aaaa| 一区二区三区日韩欧美| 久久九九久精品国产免费直播| 黄色av日韩| 欧美美女福利视频| 亚洲欧美偷拍卡通变态| 嫩草伊人久久精品少妇av杨幂| 亚洲精品免费网站| 国产精品久久久久aaaa| 久久九九免费视频| 夜夜精品视频| 老司机免费视频一区二区| 9久草视频在线视频精品| 国产精品乱码一区二区三区 | 另类综合日韩欧美亚洲| 亚洲美女电影在线| 国产视频不卡| 欧美日韩岛国| 久久在线91| 在线视频一区二区| 欧美国产日韩一区二区在线观看| 亚洲男人天堂2024| 亚洲人永久免费| 国产色综合网| 国产精品久久中文| 欧美国产日韩a欧美在线观看| 午夜精品理论片| 日韩视频二区| 亚洲国产精品悠悠久久琪琪| 欧美在线资源| 亚洲综合社区| 99精品欧美一区| 怡红院精品视频| 国产精品视频精品| 欧美日韩在线播| 欧美国产日韩视频| 久久亚洲国产成人| 欧美一区二区高清| 亚洲影院免费观看| 国产精品99久久久久久www| 亚洲国产1区| 美女图片一区二区| 久久久精品日韩欧美| 亚洲欧美日韩一区在线| 99这里有精品| 亚洲国产精品v| 欧美成人精品在线观看| 久久久久免费观看| 久久久久久久尹人综合网亚洲| 亚洲欧美精品伊人久久| 亚洲视频 欧洲视频| 99国产精品私拍| 亚洲精品一区在线| 亚洲精品视频在线播放| 亚洲人成在线观看一区二区| 亚洲激情视频网站| 亚洲精品久久久久久一区二区| 亚洲国产成人在线播放| 精品盗摄一区二区三区| 在线观看日韩av电影| 伊人久久久大香线蕉综合直播| 精品成人一区二区| 亚洲国产精品久久久久| 亚洲国产清纯| 亚洲久久成人| 亚洲已满18点击进入久久 | 国产亚洲一区二区三区在线播放 | 美女主播精品视频一二三四| 久久久999精品| 老牛影视一区二区三区| 欧美jizzhd精品欧美喷水| 玖玖在线精品| 欧美激情精品久久久六区热门 | 亚洲免费视频在线观看| 久久高清福利视频| 欧美v国产在线一区二区三区| 欧美国产视频一区二区| 欧美日韩一区三区四区| 国产精品推荐精品| 好吊视频一区二区三区四区| 亚洲黄色在线观看| 亚洲性视频网址| 欧美自拍偷拍午夜视频| 免费精品视频| 一区二区免费在线播放| 欧美在线视频一区| 六月丁香综合| 国产精品白丝黑袜喷水久久久 | 欧美日韩中文字幕精品| 国产色综合网| 在线综合亚洲| 开元免费观看欧美电视剧网站| 亚洲欧洲日本国产| 欧美一区二区在线| 欧美激情亚洲激情| 国产日韩欧美在线| 在线亚洲精品| 乱人伦精品视频在线观看| 亚洲精选在线观看| 久久婷婷成人综合色| 国产精品日韩二区| 日韩一级在线观看| 久久乐国产精品| 国产精品99久久久久久有的能看 | 久久―日本道色综合久久| 欧美色视频日本高清在线观看| 韩国一区电影| 亚洲女优在线| 亚洲日本在线视频观看| 久久久久久久久综合| 国产精品美女久久久久aⅴ国产馆| 亚洲高清自拍| 久久久亚洲一区| 午夜精品久久久久久久蜜桃app| 欧美日韩国产在线| 亚洲国产婷婷| 蜜桃av一区二区|