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

隨筆 - 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>
            亚洲在线成人精品| 欧美日韩精品在线观看| 亚洲视频精选| 久久男女视频| 久久国产精品99久久久久久老狼| 欧美韩国一区| 欧美高清视频一二三区| 国产日产欧产精品推荐色| 亚洲人成在线免费观看| 国产一区深夜福利| 国产精品99久久久久久久vr| 亚洲理论电影网| 久久久人成影片一区二区三区观看| 亚洲欧美久久| 欧美日韩亚洲成人| 亚洲福利视频一区| 有坂深雪在线一区| 久久亚洲春色中文字幕久久久| 性高湖久久久久久久久| 欧美三日本三级少妇三2023| 亚洲日本中文字幕区| 亚洲高清一区二区三区| 久久久国产精彩视频美女艺术照福利| 性色av一区二区三区在线观看 | 国产精品一区在线播放| 亚洲人成毛片在线播放| 91久久国产综合久久蜜月精品 | 亚洲日韩成人| 一区二区三区欧美在线观看| 欧美国产免费| 亚洲国产精品欧美一二99| 尹人成人综合网| 久久久久一本一区二区青青蜜月| 久久久97精品| 黑人中文字幕一区二区三区| 久久av一区二区| 玖玖国产精品视频| 亚洲国产精品一区二区久 | 国产精品swag| 亚洲午夜激情网站| 欧美一区二区黄| 国内精品美女在线观看| 久久精品国产免费观看| 麻豆精品传媒视频| 亚洲日本aⅴ片在线观看香蕉| 欧美成人综合| 亚洲四色影视在线观看| 欧美在线观看视频在线| 黄色成人在线网址| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美一级久久久久久久大片| 久久九九免费视频| 亚洲电影av| 欧美另类人妖| 亚洲欧美日韩国产成人精品影院| 欧美一区激情| 一区在线播放视频| 欧美高清视频在线播放| 一级成人国产| 久色成人在线| 亚洲神马久久| 国产自产精品| 欧美国产专区| 先锋亚洲精品| 最新日韩中文字幕| 久久动漫亚洲| 亚洲肉体裸体xxxx137| 国产精品xxxav免费视频| 久久激情综合网| 一区二区国产日产| 久久国产精品久久w女人spa| 亚洲免费高清视频| 国产一区二区日韩精品欧美精品| 欧美成人一区二区三区片免费| 亚洲午夜高清视频| 亚洲电影专区| 久久久久久久久综合| 99视频精品全部免费在线| 国产主播一区| 国产精品theporn| 男人插女人欧美| 欧美亚洲一级| 一本在线高清不卡dvd| 欧美大片在线看| 久久精品欧美| 亚洲一区在线看| 亚洲日本欧美在线| 黑人巨大精品欧美一区二区小视频| 欧美日韩18| 欧美成人中文| 欧美在线免费观看视频| a4yy欧美一区二区三区| 亚洲第一精品夜夜躁人人躁| 久久久国产精品一区| 亚洲欧美视频| 在线视频你懂得一区| 亚洲国产欧美在线| 精品二区久久| 黄色国产精品| 韩日欧美一区二区| 国产午夜亚洲精品羞羞网站 | 亚洲私拍自拍| 日韩视频免费在线观看| 亚洲国产成人精品女人久久久| 国产免费观看久久| 国产精品国码视频| 欧美日韩亚洲在线| 欧美日韩一区二区精品| 欧美韩国日本综合| 另类图片国产| 巨乳诱惑日韩免费av| 玖玖在线精品| 免费观看一级特黄欧美大片| 久久手机免费观看| 亚洲精品一二三区| 亚洲日本精品国产第一区| 国产精品一区在线观看| 亚洲精品永久免费精品| 国产乱理伦片在线观看夜一区| 久久久久久久久久码影片| 欧美国产视频在线| 久久福利电影| 欧美四级在线观看| 欧美成人综合一区| 极品少妇一区二区三区精品视频| 日韩视频二区| 久久成年人视频| 欧美在线1区| 久久久久久久一区二区| 久久网站免费| 嫩草伊人久久精品少妇av杨幂| 毛片一区二区| 欧美激情第六页| 亚洲精品欧洲精品| 亚洲综合日韩在线| 欧美一区二区在线观看| 久久噜噜噜精品国产亚洲综合| 久久在线免费观看视频| 欧美另类在线观看| 国产精品久久久一区二区三区| 国产女主播视频一区二区| 国产一区日韩欧美| 亚洲精品黄色| 欧美一区三区二区在线观看| 欧美成人国产一区二区| 一本色道久久综合狠狠躁的推荐| 午夜精品久久久久久| 巨乳诱惑日韩免费av| 欧美系列电影免费观看| 在线观看一区欧美| 在线视频一区观看| 美女主播视频一区| 亚洲视频国产视频| 久久综合中文色婷婷| 国产精品久久久久婷婷| 亚洲黄色成人| 欧美专区一区二区三区| 亚洲国产婷婷| 午夜精彩国产免费不卡不顿大片| 欧美mv日韩mv国产网站app| 国产女优一区| 亚洲美女在线看| 久久亚洲色图| 在线一区二区日韩| 你懂的国产精品| 国产一区二区剧情av在线| 在线一区亚洲| 欧美激情一区二区三级高清视频| 夜色激情一区二区| 久久亚洲精品一区二区| 久久夜色精品亚洲噜噜国产mv| 欧美日韩一区二区三区免费看 | av成人天堂| 久久精品一区蜜桃臀影院| 国产精品成人国产乱一区| 狠狠综合久久av一区二区小说| 91久久国产综合久久| 欧美伊人久久久久久久久影院| 亚洲精品中文字幕在线观看| 欧美一二三区精品| 欧美日韩国产在线播放网站| 国产精品美腿一区在线看| 亚洲美女黄网| 久久婷婷人人澡人人喊人人爽 | 欧美国产日韩精品| 在线视频你懂得一区| 欧美成人免费在线| 国产亚洲精品久久久久婷婷瑜伽| 午夜视频一区在线观看| 亚洲乱亚洲高清| 久久久久一本一区二区青青蜜月| 欧美午夜精品| 亚洲另类自拍| 美女网站久久| 欧美淫片网站| 国内久久精品视频| 午夜精品短视频| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲国产精品第一区二区| 欧美一级免费视频|