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

我希望你是我獨家記憶

一段永遠封存的記憶,隨風而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

PKU——2442——(堆的題目)

Posted on 2008-08-28 15:38 Hero 閱讀(593) 評論(1)  編輯 收藏 引用 所屬分類: 代碼如詩--ACM
//PKU 2442 Accepted 260K 438MS C++ 2837B 

//兩個隊列--每次只處理兩行

//這個題目讓我對"堆"有了新的認識--雙向映射

#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>

const int INF = 100000000 ;
const int size = 2010 ;
int data1[size] ;
int point[size] ;//data1[]的每個元素的指針
int data2[size] ;
int data3[size] ;//保存data1[]和data2[]相加后的最小inn個元素

struct QUE
{
    
int len ;
    
int toheap ;
};
struct QUE que[size] ;
//暫存隊列--求出data1[]+data2[]和最小的前n個元素--data3-->data1
int cque ;
int heap[size] ;//指向data3[]
int cheap ;

int innum ; int ct ;
int inn, inm ;

int cmp( const void *a, const void *b )
{
    
return *(int *)a - *(int *)b ;
}

void input()
{
    scanf( 
"%d %d"&inm, &inn ) ;
    
forint i=1; i<=inn; i++ )
    {
        scanf( 
"%d"&data1[i] ) ; point[i] = 1 ; 
    }
    qsort( data1
+1, inn, sizeof(data1[1]), cmp ) ;

    data1[inn
+1= INF ;
}


void swap( int &a,int &b )
{
    
int t = a ; a = b ; b = t ;
}

void moveup( struct QUE *dist, int n )
{
//將新加入的點向上移動來維持堆,n表示要向上移動的點的坐標

    
//    while( n&&arry[n]>arry[(n-1)/2] )
    while( n&&dist[heap[n]].len<dist[heap[(n-1)/2]].len )
    {
        swap( dist[heap[n]].toheap,dist[heap[(n
-1)/2]].toheap ) ;
        swap( heap[n],heap[(n
-1)/2] ) ;
        n 
= ( n-1 ) / 2 ;
    }
}


void movedown( struct QUE *dist, int n )
{
//堆頂改變后,將其向下移動維持堆.n表示堆中元素總數目

    
int i = 0 ;
    
while( i+i+1 < n )
    {
        
//if( i+i+2<n&&arry[i+i+2]>arry[i+i+1]&&arry[i+i+2]>arry[i] )
        if( i+i+2<n&&dist[heap[i+i+2]].len<dist[heap[i+i+1]].len&&dist[heap[i+i+2]].len<dist[heap[i]].len )
        {
            swap( dist[heap[i
+i+2]].toheap, dist[heap[i]].toheap ) ;
            swap( heap[i
+i+2],heap[i] ) ;
            i 
= i+i+2 ;
        }
        
//else if( arry[i+i+1] > arry[i] ) 
        else if( dist[heap[i+i+1]].len < dist[heap[i]].len )
        {
            swap( dist[heap[i
+i+1]].toheap, dist[heap[i]].toheap ) ;
            swap( heap[i
+i+1],heap[i] ) ;
            i 
= i+i+1 ;
        }
        
else    break ;
    }
}

void process()
{
    
forint i=2; i<=inm; i++ )
    {
        
forint j=1; j<=inn; j++ )    
        {
            scanf( 
"%d"&data2[j] ) ; 
        }
//下一行數據輸入--求兩行和最小的前n個元素
        qsort( data2+1, inn, sizeof(data2[1]), cmp ) ;

        cheap 
= -1 ; data2[inn+1= INF ;//為了避免point[]指針越界
        forint k=1; k<=inn; k++ )
        {
            que[k].len 
= data1[k] + data2[1] ; point[k] = 1 ;
            heap[
++cheap] = k ; que[k].toheap = cheap ;//先heap再toheap
        }
        
int temp ;
        
forint k=1; k<=inn; k++ )
        {
            data3[k] 
= que[heap[0]].len ; //彈出堆頂的元素
            point[heap[0]]++ ; //printf( "point[%d]==%d\n", heap[0], point[heap[0]] ) ;
            temp = data1[heap[0]]+data2[point[heap[0]]] ;
            que[heap[
0]].len = temp ;//更新que[]隊列的值
            movedown( que, cheap+1 ) ;
        }
//找出和最小的inn個元素

        
//memcpy( data1, data3, inn+1 ) ;
        forint k=1; k<=inn+1; k++ ) data1[k] = data3[k] ;
    }
}

void output() 
{
    
forint i=1; i<inn; i++ ) printf( "%d ", data1[i] ) ;

    printf( 
"%d\n", data1[inn] ) ;
}

int main()
{
    
while( scanf( "%d"&innum ) != EOF )
    {
        
forint ct=1; ct<=innum; ct++ )
        {
            input() ;

            process() ;

            output() ;
        }
    }

    
return 0 ;
}

Feedback

# re: PKU——2442——(堆的題目)  回復  更多評論   

2011-03-15 21:33 by acmer
謝謝,我用了你的方法過了這道題目!
可以加你QQ嗎?
我的QQ是339379406
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            性亚洲最疯狂xxxx高清| 亚洲女同精品视频| 亚洲第一精品夜夜躁人人爽| 亚洲免费高清视频| 亚洲一区二区三区在线看| 久久精品观看| 99av国产精品欲麻豆| 久久午夜精品一区二区| 国产精品a久久久久久| 亚洲电影av在线| 欧美在线一区二区| 欧美v亚洲v综合ⅴ国产v| 亚洲——在线| 欧美日韩在线免费| 国内精品久久久久影院 日本资源| 亚洲色在线视频| 亚洲精品免费看| 午夜精品成人在线| 国产精品99免费看| 久久成人资源| 美腿丝袜亚洲色图| 在线观看日韩欧美| 久久漫画官网| 午夜日本精品| 亚洲高清在线精品| 亚洲电影网站| 国产精品丝袜xxxxxxx| 亚洲视频大全| 久久成年人视频| 狠狠久久综合婷婷不卡| 欧美亚洲一区| 欧美一区二区免费观在线| 国产精品永久免费视频| 午夜精品理论片| 亚洲欧美一区二区原创| 亚洲日本成人| 欧美成人午夜视频| 女女同性女同一区二区三区91| 尤妮丝一区二区裸体视频| 日韩香蕉视频| 亚洲国语精品自产拍在线观看| 亚洲电影免费观看高清完整版在线| 欧美午夜精品久久久久免费视| 免费在线成人av| 免费精品视频| 久久久www成人免费无遮挡大片| 欧美一级黄色录像| 亚洲黄色av一区| 久久国产福利| 久久久久国产成人精品亚洲午夜| 欧美日韩国产首页在线观看| 亚洲综合日韩中文字幕v在线| 性8sex亚洲区入口| 午夜精品一区二区三区在线视| 欧美激情按摩在线| 欧美制服丝袜| 国产毛片久久| 亚洲一区二区三区成人在线视频精品 | 亚洲特黄一级片| 欧美电影打屁股sp| 亚洲自拍偷拍网址| 欧美日韩亚洲一区三区| 91久久中文字幕| 国产欧美一区二区精品婷婷| 蜜臀91精品一区二区三区| 国产日韩欧美综合| 亚洲精品乱码久久久久久按摩观| 亚洲国产岛国毛片在线| 亚洲欧美中文日韩在线| 亚洲美女一区| 欧美大秀在线观看| 亚洲国产一区二区视频| 国产欧美日韩一区二区三区| 亚洲伊人网站| 香蕉久久夜色精品| 国产一区二区精品丝袜| 亚洲另类视频| 在线观看一区二区精品视频| 久久亚洲色图| 美国十次成人| 国内精品久久久久久久97牛牛| 久久九九精品| 欧美专区亚洲专区| 国外成人网址| 久久婷婷国产综合精品青草| 亚洲欧洲日本在线| 亚洲一区中文| 国产自产高清不卡| 欧美成人综合| 一区二区久久久久久| 日韩亚洲成人av在线| 久久久久88色偷偷免费| 亚洲国产精品第一区二区| 亚洲伦理在线免费看| 国产精品美女www爽爽爽视频| 亚洲精品社区| 亚洲综合色激情五月| 国产亚洲日本欧美韩国| 欧美成人影音| 亚洲欧美www| 久久亚洲捆绑美女| 狠狠操狠狠色综合网| 欧美成人按摩| 亚洲综合精品一区二区| 久久精品99久久香蕉国产色戒| 极品尤物久久久av免费看| 欧美亚洲综合久久| 亚洲精品乱码久久久久久| 欧美一区二区三区久久精品| 欧美丝袜一区二区三区| 久久久之久亚州精品露出| 久久久久88色偷偷免费| 日韩亚洲视频| 欧美日韩国产va另类| 久久国产精品久久久久久久久久| 亚洲毛片网站| 玖玖综合伊人| 99精品国产福利在线观看免费| 国产精品你懂的在线欣赏| 欧美精品观看| 亚洲午夜未删减在线观看| 欧美在线不卡| 91久久精品国产91性色| 在线欧美福利| 国产无一区二区| 国产精品久久久久久久久久久久久 | 久久电影一区| 亚洲一区久久久| 亚洲欧洲精品一区二区三区波多野1战4| 国产亚洲一区在线播放| 欧美视频日韩视频| 欧美日韩在线亚洲一区蜜芽| 免费短视频成人日韩| 久久成人综合视频| 欧美中文字幕在线观看| 欧美成人午夜剧场免费观看| 久久亚洲国产成人| 亚久久调教视频| 欧美一级视频一区二区| 亚洲尤物在线| 亚洲欧美在线x视频| 亚洲摸下面视频| 韩国精品在线观看| 国产亚洲一区二区三区| 国产日韩一区二区三区| 国产精品嫩草99a| 国产欧美综合在线| 国产一区二区久久久| 国产亚洲亚洲| 在线播放视频一区| 亚洲国产高清一区二区三区| 亚洲高清色综合| 亚洲精品黄色| 一区二区三区日韩欧美| 激情婷婷亚洲| 亚洲国产精品黑人久久久| 亚洲国产欧美一区二区三区久久 | 老司机精品导航| 亚洲成人资源网| 欧美在线免费观看亚洲| 欧美一级免费视频| 老司机成人网| 亚洲精品欧美在线| 亚洲午夜羞羞片| 久久精品国产第一区二区三区最新章节 | 国产色综合天天综合网| 狠狠色狠狠色综合日日91app| 在线看欧美视频| 亚洲精品一区二区三区樱花 | 亚洲国产电影| 亚洲少妇在线| 久久中文在线| 亚洲精品资源| 欧美在线综合| 欧美日韩日本视频| 国产亚洲欧美一级| 亚洲激情影视| 99国产精品久久久久久久| 午夜性色一区二区三区免费视频 | 久久狠狠一本精品综合网| 欧美国产一区二区三区激情无套| 久久视频精品在线| 亚洲激情自拍| 亚洲欧美日韩天堂| 欧美成人高清| 国产综合色在线| 亚洲自拍偷拍福利| 亚洲精品久久久久久久久久久| 欧美一区二区三区另类| 欧美日韩一区二区三区在线视频| 国语自产精品视频在线看| 亚洲午夜一区二区| 亚洲国产91| 久久久久国产一区二区| 国产精品美女视频网站| 亚洲精品在线免费观看视频| 久久一区激情| 欧美一区二区网站| 国产精品综合| 午夜精品福利一区二区三区av|