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

隨筆 - 97, 文章 - 22, 評論 - 81, 引用 - 0
數據加載中……

ZJU 1440 Bone Sort

題目鏈接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1440

/*
題意:
    給定N(N <= 10000)個互不相等的數字ai,要求求出進行至少多少
次交換操作,使得數列遞增,并且輸出原數列的逆序對的數目。

解法:
樹狀數組

思路:
    至少多少次交換可以采用貪心,每次找出數列中最小的那個數換到
它應該有的位置上,這一步可以采用hash,因為數字都不相同并且有可
能很大,事先離散化一下。求逆序數可以采用樹狀數組的區間求和,從
后往前線性掃描,每次統計比當前數小的sum和,然后將這個數插入到
樹狀數組中,n次循環過后,累加的值就是逆序數了。
*/

#include 
<iostream>
#include 
<algorithm>
#include 
<cstdio>
using namespace std;

#define ll long long
#define maxn 100010
int c[maxn], val[maxn], bin[maxn], n;
int pos[maxn];

int Binary(int val) {
    
int l = 1;
    
int r = n;
    
while(l <= r) {
        
int m = (l + r) >> 1;
        
if(bin[m] == val)
            
return m;
        
if(val > bin[m]) {
            l 
= m + 1;
        }
else
            r 
= m - 1;
    }

}


int lowbit(int x) {
    
return x & (-x);
}


void add(int pos) {
    
while(pos <= n) {
        c[pos] 
++;
        pos 
+= lowbit(pos);
    }

}

int sum(int pos) {
    
int s = 0;
    
while(pos > 0{
        s 
+= c[pos];
        pos 
-= lowbit(pos);
    }

    
return s;
}


int main() {
    
int i;
    
while(scanf("%d"&n) != EOF) {
        
for(i = 1; i <= n; i++{
            scanf(
"%d"&val[i]);
            bin[i] 
= val[i];
        }

        sort(bin
+1, bin+1+n);
        
for(i = 1; i <= n; i++{
            val[i] 
= Binary(val[i]);
        }

        
for(i = 1; i <= n; i++)
            c[i] 
= 0;

        ll ans 
= 0;
        
int swp = 0;
        
for(i = n; i >= 1; i--{
            ans 
+= sum(val[i]-1);
            add(val[i]);
        }

        
for(i = 1; i <= n; i++{
            pos[ val[i] ] 
= i;
        }


        
for(i = 1; i <= n; i++{
            
if(val[i] != i) {    
                swp 
++;
                
                
int pre = pos[i];
                
int nowVal = val[i];
                swap( val[ pre ], val[i] );

                pos[ nowVal ] 
= pre;
            }

        }

        printf(
"%d\n%lld\n", swp, ans);
    }

    
return 0;
}

posted on 2011-04-06 11:38 英雄哪里出來 閱讀(1167) 評論(0)  編輯 收藏 引用 所屬分類: 樹狀數組

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品一区二区三区蜜桃久| 欧美一区二区大片| 国产亚洲精品aa午夜观看| 91久久精品一区二区别| 亚洲国产精品99久久久久久久久| 亚洲欧美成人综合| 国产精品一区在线观看| 亚洲精品久久久久久一区二区 | 欧美一级理论片| 国产三级欧美三级| 欧美福利视频| 欧美三级在线| 久久噜噜噜精品国产亚洲综合| 午夜久久久久久| 尤物yw午夜国产精品视频明星| 鲁大师影院一区二区三区| 99成人在线| 日韩亚洲国产欧美| 国产精品高潮久久| 久久久久久网址| 欧美成人免费小视频| 亚洲二区精品| 在线一区日本视频| 国产亚洲一区在线播放| 裸体歌舞表演一区二区| 免费在线观看精品| 欧美在线亚洲在线| 欧美激情综合色| 欧美在线一二三| 欧美激情成人在线视频| 欧美一区二区三区四区视频| 亚洲制服少妇| 亚洲性线免费观看视频成熟| 亚洲一区亚洲| 久久午夜电影| 欧美不卡视频一区| 久久精品国产99国产精品| 久久国产精彩视频| 亚洲视频精品在线| 欧美 日韩 国产一区二区在线视频 | 国产精品黄色| 亚洲国产一区二区三区在线播 | 国产一区二区| 亚洲一级在线| 亚洲综合欧美日韩| 欧美激情一区在线| 欧美成人精品在线观看| 国产精品久久久久久久9999| 久久精品99国产精品日本| 欧美—级在线免费片| 久久久久免费观看| 国产精品嫩草久久久久| 亚洲日本电影| 亚洲人体一区| 免费看精品久久片| 免费永久网站黄欧美| 国产酒店精品激情| 亚洲午夜视频| 午夜一区在线| 国产精品视频成人| 亚洲一区视频在线观看视频| 影音先锋一区| 久久综合婷婷| 欧美黄色成人网| 亚洲国产精品久久久久秋霞蜜臀 | 国产在线播精品第三| 在线一区日本视频| 亚洲欧美日韩精品久久亚洲区 | 亚洲精品一区二区三区99| 国产一区在线看| 日韩视频精品在线观看| 午夜视黄欧洲亚洲| 欧美自拍偷拍午夜视频| 国产精品久久久久久福利一牛影视| 欧美a级大片| 最新日韩欧美| 欧美日韩成人综合天天影院| 快射av在线播放一区| 国内外成人在线视频| 欧美在线观看视频一区二区三区| 欧美一区二区精品| 精品1区2区3区4区| 欧美成人免费播放| 一区二区三区成人精品| 亚洲欧美日韩在线观看a三区| 欧美日韩午夜剧场| 亚洲影视综合| 美日韩精品视频| 欧美日韩在线观看一区二区| 久久精品日韩欧美| 亚洲国产日韩一区二区| 欧美护士18xxxxhd| 亚洲在线观看免费视频| 欧美一区激情| 91久久极品少妇xxxxⅹ软件| 开心色5月久久精品| 亚洲欧洲一区二区三区久久| 日韩亚洲国产精品| 国产亚洲精品成人av久久ww| 亚洲欧美国产一区二区三区| 亚洲专区欧美专区| 亚洲电影中文字幕| 国产欧美日韩综合一区在线观看| 欧美一区二区视频观看视频| 久久久精品国产免大香伊| 伊人久久男人天堂| 国产精品久久7| 免费观看亚洲视频大全| 亚洲视频二区| 亚洲电影av| 久久视频在线视频| 亚洲男女自偷自拍| 亚洲乱亚洲高清| 国内一区二区三区| 国产精品国产精品| 裸体素人女欧美日韩| 亚洲夜晚福利在线观看| 韩国av一区二区三区| 日韩一区二区久久| 久久视频在线视频| 亚洲一级电影| 亚洲人成人77777线观看| 国产精品视频一区二区三区| 久久精品系列| 先锋资源久久| 亚洲性感激情| 日韩视频亚洲视频| 亚洲品质自拍| 欧美成人一品| 久久人人九九| 久久久精品国产99久久精品芒果| 亚洲最新视频在线| 亚洲三级视频| 亚洲人成精品久久久久| 狠狠色综合网站久久久久久久| 国产精品户外野外| 国产精品成人免费精品自在线观看| 久久综合色天天久久综合图片| 亚洲欧美视频在线观看视频| 久久久久久久一区| 久久精品女人天堂| 亚洲视频精选在线| 一本色道久久综合狠狠躁篇的优点| 久久久久久伊人| 久久精品亚洲国产奇米99| 亚洲一区二区三区色| 妖精成人www高清在线观看| 亚洲国产专区校园欧美| 亚洲国产黄色片| 亚洲人成人一区二区在线观看| 韩国精品久久久999| 狠狠久久婷婷| 亚洲国产成人午夜在线一区| 国产精品视频一区二区三区| 欧美日韩精品久久| 国产精品a久久久久| 欧美色图麻豆| 国产欧美精品一区aⅴ影院| 久久久精品午夜少妇| 欧美一级欧美一级在线播放| 亚洲色无码播放| 亚洲第一精品在线| 久久裸体艺术| 麻豆成人在线| 亚洲精品123区| 亚洲视频中文| 久久久久久国产精品一区| 久久国产精品久久久久久| 久久精品国产综合精品| 久久久久88色偷偷免费| 免费成人网www| 国产精品久久久久久久久久久久| 国产精品狠色婷| 在线观看精品一区| 一区二区三区欧美日韩| 亚洲女同同性videoxma| 久久精品中文| 亚洲日本在线观看| 午夜精品国产| 欧美激情亚洲视频| 国产美女诱惑一区二区| 在线观看成人小视频| 99国产精品久久久久老师| 亚洲欧美日韩国产综合| 美女精品在线观看| 亚洲一区成人| 欧美大尺度在线观看| 欧美激情中文不卡| 欧美影院视频| 欧美日本韩国一区| 国内成人精品视频| 亚洲私人影吧| 欧美激情91| 新片速递亚洲合集欧美合集| 午夜亚洲精品| 国产精品v片在线观看不卡| 精品不卡视频| 欧美专区亚洲专区| 99热这里只有精品8| 久久精品国产亚洲精品|