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

隨筆 - 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 英雄哪里出來 閱讀(1171) 評論(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>
            国产精品视频一区二区三区| 久久三级视频| 亚洲线精品一区二区三区八戒| 亚洲精品乱码久久久久久蜜桃91| 欧美成人一区二区| 久久国产乱子精品免费女| 欧美一区二区三区四区在线观看| 亚洲综合精品四区| 久久精精品视频| 蜜臀av性久久久久蜜臀aⅴ| 欧美h视频在线| 欧美激情第3页| 亚洲视频在线看| 久久综合九色综合久99| 欧美69视频| 国产精品婷婷| 亚洲欧洲精品一区二区三区不卡 | 女人色偷偷aa久久天堂| 亚洲破处大片| 午夜精品美女久久久久av福利| 久久婷婷国产综合尤物精品| 欧美日韩视频在线一区二区观看视频 | 日韩视频二区| 久久久亚洲人| 一区二区三区四区国产精品| 久久中文久久字幕| 国产欧美日韩高清| 一本色道久久综合一区| 欧美77777| 亚洲欧美综合| 国产精品羞羞答答xxdd| 亚洲精品在线一区二区| 免费人成精品欧美精品| 午夜久久美女| 国产日韩欧美一区二区| 亚洲一区视频在线| 亚洲图中文字幕| 国产精品福利av| 午夜亚洲视频| 亚洲天堂男人| 国产九九精品视频| 久久国产视频网站| 亚洲欧美久久| 国产亚洲精品自拍| 久久亚洲私人国产精品va| 欧美中在线观看| 亚洲国产精品成人| 亚洲风情在线资源站| 欧美va亚洲va香蕉在线| 亚洲啪啪91| 亚洲精选在线| 国产麻豆精品视频| 久久综合导航| 欧美日韩成人| 久久成人国产精品| 美国成人直播| 亚洲天堂第二页| 欧美一区三区三区高中清蜜桃| 黄色av日韩| 亚洲欧美日韩精品| 精品动漫3d一区二区三区| 亚洲国产欧美精品| 日韩亚洲不卡在线| 国产一区二区欧美| 亚洲第一区中文99精品| 欧美午夜女人视频在线| 久久久五月天| 国产精品一区二区久久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美激情精品| 巨乳诱惑日韩免费av| 国产精品久久二区| 亚洲国产精品第一区二区三区| 国产精品免费网站| 亚洲国产精彩中文乱码av在线播放| 国产精品theporn| 亚洲国产欧美在线人成| 一区在线观看视频| 先锋影音一区二区三区| 亚洲欧美日韩精品久久久| 欧美不卡一卡二卡免费版| 久久一区中文字幕| 国产日韩欧美一区二区| 99精品免费| 亚洲一区二区在线免费观看| 欧美日韩极品在线观看一区| 欧美高清不卡在线| 亚洲国产日韩一级| 久久三级视频| 亚洲国产日韩一区| 亚洲啪啪91| 欧美日韩国产色视频| 亚洲精品护士| 性欧美xxxx视频在线观看| 国产精品久久久久国产精品日日| 一区二区三区**美女毛片| 国产精品99久久久久久久久| 国产精品成人午夜| 亚洲欧美日韩精品久久奇米色影视 | 午夜精品久久久久久久| 国产精品美女久久久久久久 | 久久色在线观看| 亚洲欧洲在线视频| 亚洲一区二区在线| 一区二区三区中文在线观看| 久久亚洲春色中文字幕久久久| 欧美福利网址| 欧美一区二区三区免费在线看| 国外成人性视频| 欧美日韩的一区二区| 亚洲欧美国产一区二区三区| 欧美国产日本高清在线| 亚洲一区二区三区在线视频| 国产视频欧美视频| 欧美激情一区二区久久久| 亚洲欧美三级伦理| 一本色道久久综合一区| 欧美xxx成人| 久久精品伊人| 欧美在线免费| 亚洲女性裸体视频| 日韩视频在线播放| 国产专区一区| 久久免费99精品久久久久久| 一片黄亚洲嫩模| 欧美国产日韩一区二区三区| 亚洲亚洲精品三区日韩精品在线视频| 国产一区二三区| 国产精品日韩精品欧美精品| 久久综合99re88久久爱| 亚洲欧美一区二区视频| 亚洲精品乱码久久久久久| 久久久久国产成人精品亚洲午夜| 99精品视频免费全部在线| 精品88久久久久88久久久| 国产精品一区二区久久精品 | 小黄鸭精品aⅴ导航网站入口| 最新成人av在线| 欧美肥婆在线| 欧美成人综合一区| 麻豆av一区二区三区久久| 午夜国产精品视频| 亚洲午夜在线| 香港久久久电影| 欧美在线影院| 久久看片网站| 男同欧美伦乱| 蜜乳av另类精品一区二区| 久久久噜噜噜久噜久久| 久久免费高清| 亚洲二区免费| 日韩视频在线观看国产| 亚洲视频久久| 久久岛国电影| 欧美巨乳在线观看| 国产精品国产自产拍高清av| 国产精品亚洲视频| 一区二区视频欧美| 亚洲免费成人| 一区二区三区不卡视频在线观看| 亚洲香蕉网站| 久久综合久久88| 久久综合色影院| 一本色道婷婷久久欧美| 欧美中文字幕久久| 欧美精品一区二区在线播放| 欧美亚韩一区| 亚洲欧洲日本一区二区三区| 性欧美videos另类喷潮| 亚洲成人自拍视频| 欧美一区二区观看视频| 欧美交受高潮1| 极品尤物av久久免费看| 亚洲男人的天堂在线观看| 欧美成人蜜桃| 亚洲国产日韩欧美在线99| 亚洲网站啪啪| 欧美涩涩网站| 在线观看av不卡| 久久国产精品网站| 亚洲欧美日韩一区二区在线| 久久午夜精品| 黄色精品一区二区| 久久久久在线| 一区二区三区不卡视频在线观看| 免费的成人av| 最新国产精品拍自在线播放| 欧美激情精品久久久久久大尺度| 亚洲淫片在线视频| 国产女主播在线一区二区| 午夜精品久久久久久久男人的天堂| 亚洲欧洲精品天堂一级| 欧美日韩亚洲天堂| 国产热re99久久6国产精品| 国产精品久久久久久亚洲毛片 | 国产亚洲在线观看| 欧美一区日本一区韩国一区| 亚洲欧美国产高清| 影音先锋亚洲视频| 亚洲高清网站|