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

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>
            日韩视频免费| 欧美一级片久久久久久久| 国产曰批免费观看久久久| 欧美韩日一区二区三区| 久久久国产精品一区| 性色av一区二区三区| 久久精品国产精品| 久久久噜噜噜久久久| 麻豆免费精品视频| 欧美精品一区二区三区蜜臀| 欧美日韩人人澡狠狠躁视频| 国产精品亚洲综合久久| 国产伦精品免费视频| 在线观看一区二区精品视频| 9l国产精品久久久久麻豆| 在线亚洲一区二区| 卡通动漫国产精品| 亚洲电影欧美电影有声小说| 蜜桃久久精品乱码一区二区| 日韩视频在线免费观看| 久久乐国产精品| 国产精品进线69影院| 亚洲福利视频网| 一区二区免费在线播放| 欧美激情精品久久久久久黑人 | 亚洲国内自拍| 亚洲欧美日韩天堂一区二区| 亚洲国产精品99久久久久久久久| 亚洲欧美日韩在线不卡| 欧美精品二区| 日韩视频久久| 亚洲精品视频中文字幕| 久久国产精品99国产精| 国产亚洲a∨片在线观看| 午夜视频一区二区| 亚洲欧美欧美一区二区三区| 欧美午夜精品理论片a级按摩| 在线成人小视频| 美女成人午夜| 欧美岛国在线观看| 99精品99久久久久久宅男| 免费黄网站欧美| 欧美国产日本韩| 中文精品视频| 欧美在线看片| 亚洲精品中文字| 午夜精品久久久久久久蜜桃app| 国产伦精品一区二区三区免费 | 国内精品视频在线播放| 久久综合精品一区| 欧美视频中文字幕在线| 午夜影院日韩| 久久av一区二区三区漫画| 黄色成人在线观看| 欧美激情精品久久久久久| 欧美成人免费观看| 国产精品嫩草久久久久| 欧美亚洲一区三区| 欧美日韩亚洲视频| 欧美gay视频| 国产日韩专区| 午夜久久久久| 亚洲一区视频| 欧美特黄一级大片| 亚洲国产精品一区二区www在线| 国产精品久久久久久久久久妞妞| 欧美成年人在线观看| 国语自产精品视频在线看一大j8 | 欧美日韩在线三级| 亚洲精品久久视频| 亚洲精品之草原avav久久| 久久av一区二区三区| 久久久久国产精品午夜一区| 国产精品久久久久久五月尺| 日韩天堂在线视频| 亚洲在线第一页| 欧美视频一区二区在线观看| 久久影院午夜论| 亚洲国产高清aⅴ视频| 欧美在线91| 欧美第一黄网免费网站| 亚洲丰满少妇videoshd| 午夜精品在线观看| 欧美一级片在线播放| 国产精品一区二区三区久久久| 亚洲在线一区二区| 久久综合伊人77777蜜臀| 最新亚洲一区| 亚洲国产1区| 在线亚洲+欧美+日本专区| 国产精品久久久久秋霞鲁丝 | av成人免费在线| 亚洲午夜视频在线| 伊人色综合久久天天五月婷| 久久久欧美精品sm网站| 亚洲精品资源| 欧美大片第1页| 亚洲欧美日韩一区在线观看| 一区二区在线视频播放| 国产精品国产三级欧美二区| 久久久久久久久久久一区| 日韩一区二区高清| 亚洲国产精品久久久久婷婷老年| 亚洲视频免费看| 亚洲高清视频中文字幕| 国产亚洲二区| 国产亚洲精品久久久久动| 国产精品欧美日韩一区二区| 欧美人成在线视频| 欧美国产精品人人做人人爱| 欧美电影免费观看高清完整版| 久久全球大尺度高清视频| 久久久久www| 美女主播一区| 欧美精品色综合| 欧美日本一道本在线视频| 美女网站久久| 欧美日韩另类视频| 国产精品视频久久| 国产一区二区三区直播精品电影| 国产精品久久久久久久久搜平片| 欧美四级剧情无删版影片| 欧美午夜a级限制福利片| 国产精品亚洲综合一区在线观看| 国产欧美日韩一区二区三区在线| 国产精品视频网站| 亚洲欧美成人一区二区在线电影| 欧美一区二区三区视频免费| 欧美一区二区三区视频| 欧美黄色一区二区| 国产欧美一区二区精品秋霞影院| 国产精品一区免费在线观看| 一区二区三区中文在线观看 | 免费成人在线观看视频| 欧美成人激情在线| 国产一区亚洲一区| 亚洲亚洲精品在线观看 | 国产在线视频欧美一区二区三区| 国产一区二区三区四区| 亚洲国产网站| 久久国产精品久久久| 亚洲三级免费观看| 久久久国产精彩视频美女艺术照福利| 亚洲无线一线二线三线区别av| 猛男gaygay欧美视频| 亚洲在线观看视频网站| 欧美日韩国产一区| 亚洲欧洲精品一区二区三区波多野1战4| 在线一区二区日韩| 欧美aaaaaaaa牛牛影院| 久久激情五月激情| 狠狠色噜噜狠狠狠狠色吗综合| 久久国产精品色婷婷| 亚洲女爱视频在线| 国产精品中文在线| 欧美一区1区三区3区公司| 一区二区三区**美女毛片| 欧美美女日韩| 欧美一区二区女人| 午夜精品久久久久久99热| 国产精品一区二区视频| 久久精品视频在线观看| 久久九九免费| 亚洲精品日韩激情在线电影| 亚洲精品在线观看免费| 国产亚洲精品久| 亚洲人被黑人高潮完整版| 国产午夜久久| 久久综合伊人| 欧美福利小视频| 欧美高清视频免费观看| 国产欧美不卡| 亚洲欧洲日本一区二区三区| 新片速递亚洲合集欧美合集| 99re66热这里只有精品3直播| 欧美激情bt| 国产亚洲欧美一区| 亚洲欧美在线一区二区| 亚洲国产成人不卡| 国产精品免费看片| 亚洲一区二区三区在线观看视频| 欧美高清在线一区二区| 欧美午夜精品久久久久免费视| 久久久久久69| 欧美激情麻豆| 久久国产日韩欧美| 欧美日韩一区二区三区四区在线观看| 亚洲欧美视频一区二区三区| 免费在线视频一区| 欧美亚洲免费电影| 羞羞视频在线观看欧美| 亚洲国产欧美不卡在线观看| 亚洲欧美久久久| 亚洲视频狠狠| 亚洲视屏在线播放| 一区二区久久| 欧美福利在线| 欧美电影免费观看高清完整版| 欧美gay视频激情| 亚洲欧美综合国产精品一区|