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

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>
            韩日在线一区| 亚洲免费在线观看视频| 亚洲国产一区二区三区在线播| 国产精品免费观看在线| 国产精品美女在线观看| 欧美先锋影音| 国产日韩欧美综合在线| 亚洲精品美女在线| 亚洲精品国产精品国自产观看浪潮| 亚洲国产视频a| 9国产精品视频| 亚洲欧美日韩直播| 久久国产精品黑丝| 欧美黑人一区二区三区| 国产精品白丝黑袜喷水久久久| 国产日韩欧美电影在线观看| 在线看欧美视频| 一区二区三区欧美在线| 久久av一区| 亚洲第一在线综合在线| 亚洲视频在线二区| 久久久青草婷婷精品综合日韩 | 亚洲欧美另类在线| 久久超碰97人人做人人爱| 男女av一区三区二区色多| 欧美视频一二三区| 国外成人网址| 亚洲天堂成人在线观看| 久久婷婷国产综合尤物精品| 亚洲精品一区二区三| 欧美在线观看视频在线| 欧美国产精品久久| 狠狠色综合色区| 亚洲一区二区免费在线| 免费国产一区二区| 亚洲欧美综合精品久久成人 | 国产精品久久久久久久久久久久| 国产日韩欧美a| 在线亚洲精品福利网址导航| 一区二区三区日韩精品视频| 久久精品水蜜桃av综合天堂| 99国产精品视频免费观看一公开| 久久久久久**毛片大全| 国产精品久久国产精品99gif| 91久久久久久| 久久综合色婷婷| 亚洲综合色丁香婷婷六月图片| 欧美+日本+国产+在线a∨观看| 国产一区二区黄色| 欧美怡红院视频| 亚洲网站在线观看| 欧美日精品一区视频| 日韩一级大片在线| 麻豆成人精品| 久久久噜噜噜| 曰韩精品一区二区| 久久综合亚洲社区| 欧美中文在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲一区综合| 亚洲午夜视频| 国产欧美日韩麻豆91| 性欧美1819sex性高清| 亚洲一区二区在线免费观看| 亚洲精品一区二区在线| 老牛国产精品一区的观看方式| 久久一区二区三区四区| 亚洲一区二区在线播放| 国产精品第一区| 亚洲视频一区在线观看| 亚洲精品小视频在线观看| 欧美久久久久久久久久| 99成人免费视频| 亚洲久色影视| 国产精品成人播放| 亚洲在线视频网站| 亚洲一区二区av电影| 国产精品theporn| 亚洲视频第一页| 午夜欧美大片免费观看| 激情综合五月天| 欧美国产一区二区在线观看 | 亚洲免费视频在线观看| 国产香蕉久久精品综合网| 久久男人资源视频| 男人插女人欧美| 国产精品99久久久久久人| 亚洲免费在线观看视频| 激情小说亚洲一区| 亚洲激情第一页| 国产精品第三页| 久久久久久夜精品精品免费| 狼人社综合社区| 亚洲综合精品| 久久国产欧美日韩精品| 亚洲精品偷拍| 欧美亚洲在线播放| 日韩视频在线一区二区三区| 亚洲一区中文| 亚洲激情在线激情| 亚洲自拍高清| 亚洲免费观看| 欧美专区亚洲专区| 99亚洲伊人久久精品影院红桃| 亚洲一区区二区| 亚洲狼人精品一区二区三区| 亚洲欧美综合国产精品一区| 亚洲精品一区二区三区婷婷月 | 久久久蜜桃精品| 欧美精品v日韩精品v国产精品| 欧美一区二区三区免费观看| 欧美高清影院| 老司机成人网| 国产精品亚洲一区二区三区在线| 欧美成人中文字幕| 国产亚洲激情视频在线| 亚洲精品一区二区网址| 精品二区视频| 欧美一级精品大片| 午夜亚洲福利| 香蕉视频成人在线观看| 国产精品扒开腿做爽爽爽视频| 国产精品日韩精品| 午夜久久久久| 亚洲女人av| 亚洲大胆av| 亚洲欧美激情四射在线日| 国产亚洲成av人片在线观看桃 | 久久精品免费| 亚洲视频在线一区| 久久亚洲精选| 久久精品在线免费观看| 欧美日韩一视频区二区| 欧美va天堂| 国产亚洲一区二区在线观看| 在线视频精品| 亚洲一区二区视频在线观看| 免费亚洲网站| 美女图片一区二区| 国内久久婷婷综合| 久久本道综合色狠狠五月| 亚洲女人天堂av| 国产精品久久久久久久免费软件| 亚洲日本黄色| 亚洲欧洲一二三| 欧美大片一区二区三区| 亚洲国产aⅴ天堂久久| 亚洲国产经典视频| 免播放器亚洲一区| 亚洲国产日韩一区二区| 亚洲欧洲日产国产网站| 欧美韩日亚洲| 夜夜爽夜夜爽精品视频| 亚洲资源av| 国产精品自拍一区| 久久精品国产99精品国产亚洲性色| 蜜臀av在线播放一区二区三区| 亚洲激情欧美| 欧美视频中文在线看| 亚洲欧美高清| 欧美成年人视频网站| 日韩视频在线观看免费| 国产精品国码视频| 欧美在线一级视频| 亚洲精品国产无天堂网2021| 亚洲综合导航| 国产一区二区丝袜高跟鞋图片| 久久久久久久波多野高潮日日| 亚洲第一精品在线| 亚洲一区二区3| 精品51国产黑色丝袜高跟鞋| 欧美99久久| 亚洲一区二区av电影| 噜噜噜在线观看免费视频日韩| 亚洲精品久久嫩草网站秘色| 欧美系列精品| 久久综合狠狠| 亚洲在线中文字幕| 亚洲第一天堂av| 亚洲国产精品激情在线观看| 亚洲视频在线观看视频| 久久精品一区二区三区四区| 亚洲国产精品国自产拍av秋霞| 欧美调教vk| 久久久中精品2020中文| 99精品国产热久久91蜜凸| 久久躁狠狠躁夜夜爽| 亚洲五月婷婷| 亚洲精品国精品久久99热一| 国产精品无人区| 欧美大片在线观看一区二区| 性刺激综合网| 99国产精品久久久| 欧美va天堂| 久久久精品国产免大香伊| 亚洲一区二区三区欧美 | 欧美色视频日本高清在线观看| 欧美在线视频观看免费网站| 夜夜爽av福利精品导航| 亚洲人成网站777色婷婷|