• <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>

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            MiYu原創(chuàng), 轉(zhuǎn)帖請(qǐng)注明 : 轉(zhuǎn)載自 ______________白白の屋    

            題目地址 :

                  http://acm.hdu.edu.cn/showproblem.php?pid=2689 

            題目描述:

               其實(shí)就是求 冒泡排序時(shí) 的交換次數(shù),  當(dāng)然也可以求逆序數(shù)來解決問題, 下面是2份 代碼:

             

            代碼
            //直接冒泡排序求交換的次數(shù)
            /*

            Mail to   : miyubai@gamil.com
            My Blog   : www.baiyun.me
            Link      : 
            http://www.cnblogs.com/MiYu  || http://www.shnenglu.com/MiYu
            Author By : MiYu
            Test      : 1
            Complier  : g++ mingw32-3.4.2
            Program   : HDU_2689
            Doc Name  : Sort it
            */
            //#pragma warning( disable:4789 )
            #include <iostream>
            #include 
            <fstream>
            #include 
            <sstream>
            #include 
            <algorithm>
            #include 
            <string>
            #include 
            <set>
            #include 
            <map>
            #include 
            <utility>
            #include 
            <queue>
            #include 
            <stack>
            #include 
            <list>
            #include 
            <vector>
            #include 
            <cstdio>
            #include 
            <cstdlib>
            #include 
            <cstring>
            #include 
            <cmath>
            #include 
            <ctime>
            using namespace std;
            int N, num[1010];
            inline 
            void swap ( int &a, int &b ) {
                   a 
            ^= b ^= a ^= b;       
            }
            int bouble () {
                
            int sum = 0;
                
            for ( int i = 0; i < N; ++ i ) {
                     
            for ( int j = 1; j < N - i; ++ j ) {
                          
            if ( num[j-1> num[j] ) {
                               swap ( num[j
            -1], num[j] );
                               
            ++ sum;
                          }    
                     }    
                }    
                
            return sum;
            }
            void print () {
                 
            for ( int i = 0; i < N; ++ i )
                 cout 
            << num[i] << " ";
                 cout 
            << endl;     
            }
            int main ()
            {
                
            while ( scanf ( "%d"&N ) == 1 ) {
                       
            for ( int i = 0; i < N; ++ i ) {
                            scanf ( 
            "%d", num + i );    
                       }       
                       printf ( 
            "%d\n",bouble () );
                      
            // print ();
                }
                
            return 0;
            }

            //樹狀數(shù)組求逆序數(shù)法
            /*

            Mail to   : miyubai@gamil.com
            My Blog   : www.baiyun.me
            Link      : 
            http://www.cnblogs.com/MiYu  || http://www.shnenglu.com/MiYu
            Author By : MiYu
            Test      : 1
            Complier  : g++ mingw32-3.4.2
            Program   : HDU_2689
            Doc Name  : Sort it
            */
            //#pragma warning( disable:4789 )
            #include <iostream>
            #include 
            <fstream>
            #include 
            <sstream>
            #include 
            <algorithm>
            #include 
            <string>
            #include 
            <set>
            #include 
            <map>
            #include 
            <utility>
            #include 
            <queue>
            #include 
            <stack>
            #include 
            <list>
            #include 
            <vector>
            #include 
            <cstdio>
            #include 
            <cstdlib>
            #include 
            <cstring>
            #include 
            <cmath>
            #include 
            <ctime>
            using namespace std;
            int N,val,num[1010],low[1010];
            void init () {
                 
            for ( int i = 0; i <= 1010++ i ) {
                      low[i] 
            = i & ( -i );    
                 }
            }
            void modify ( int x ) {
                 
            while ( x <= N ) {
                        
            ++ num[x];      
                        x 
            += low[x];
                 }     
            }
            int query ( int x ) {
                
            int sum = 0;
                
            while ( x > 0 ) {
                       sum 
            += num[x];
                       x 
            -= low[x];      
                }    
                
            return sum;
            }
            int main ()
            {
                init ();
                
            while ( scanf ( "%d"&N ) == 1 ) {
                       memset ( num, 
            0sizeof ( num ) );  
                       
            int sum = 0;
                       
            for ( int i = 0; i < N; ++ i ) {
                            scanf ( 
            "%d"&val );
                            modify ( val ); 
                            sum 
            += i - query ( val - 1 );   
                       }  
                       printf ( 
            "%d\n", sum );
                }
                 
                
            return 0;
            }

             

            国产综合精品久久亚洲| 久久免费国产精品| 九九99精品久久久久久| 91精品国产综合久久香蕉| 久久www免费人成精品香蕉| 久久91精品国产91久| 欧美噜噜久久久XXX| 国产免费久久精品丫丫| A级毛片无码久久精品免费| 久久99国产综合精品女同| 久久国产香蕉一区精品| 香蕉久久夜色精品升级完成| 97久久精品午夜一区二区| 四虎亚洲国产成人久久精品| 国产午夜免费高清久久影院| 亚洲精品NV久久久久久久久久| 国产V亚洲V天堂无码久久久| 日本WV一本一道久久香蕉| 国产精品成人精品久久久| 久久久久人妻一区二区三区vr| 久久精品成人| 99久久国产亚洲高清观看2024| 色偷偷88888欧美精品久久久| 日本欧美国产精品第一页久久| 久久99国产精品久久| 久久AV高潮AV无码AV| 亚洲国产成人精品久久久国产成人一区二区三区综 | 欧美精品乱码99久久蜜桃| 婷婷综合久久中文字幕| 久久久久久无码Av成人影院| 久久久噜噜噜久久中文字幕色伊伊| 久久毛片免费看一区二区三区| 久久国产高清一区二区三区| 品成人欧美大片久久国产欧美| 久久久精品午夜免费不卡| 久久精品国产亚洲欧美| 狠狠色丁香久久综合婷婷| 久久香蕉综合色一综合色88| 热久久这里只有精品| 9999国产精品欧美久久久久久| 99久久精品国产一区二区蜜芽|