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

我希望你是我獨(dú)家記憶

一段永遠(yuǎn)封存的記憶,隨風(fēng)而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首頁(yè) :: 新隨筆 ::  :: 聚合  :: 管理
//PKU 2442 Accepted 260K 438MS C++ 2837B 

//兩個(gè)隊(duì)列--每次只處理兩行

//這個(gè)題目讓我對(duì)"堆"有了新的認(rèn)識(shí)--雙向映射

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

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

struct QUE
{
    
int len ;
    
int toheap ;
};
struct QUE que[size] ;
//暫存隊(duì)列--求出data1[]+data2[]和最小的前n個(gè)元素--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 )
{
//將新加入的點(diǎn)向上移動(dòng)來維持堆,n表示要向上移動(dòng)的點(diǎn)的坐標(biāo)

    
//    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 )
{
//堆頂改變后,將其向下移動(dòng)維持堆.n表示堆中元素總數(shù)目

    
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] ) ; 
        }
//下一行數(shù)據(jù)輸入--求兩行和最小的前n個(gè)元素
        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 ; //彈出堆頂?shù)脑?/span>
            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[]隊(duì)列的值
            movedown( que, cheap+1 ) ;
        }
//找出和最小的inn個(gè)元素

        
//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——(堆的題目)  回復(fù)  更多評(píng)論   

2011-03-15 21:33 by acmer
謝謝,我用了你的方法過了這道題目!
可以加你QQ嗎?
我的QQ是339379406

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧洲一区二区天堂久久| 一区二区三区色| 久久久综合香蕉尹人综合网| 亚洲欧美影音先锋| 国产一区二区丝袜高跟鞋图片| 久久久久久久久综合| 久久精品国产v日韩v亚洲| 在线观看欧美日本| 亚洲欧洲日韩在线| 欧美日韩ab片| 欧美一区二区三区视频| 久久精品欧洲| 一区二区欧美在线| 欧美亚洲免费电影| 亚洲人成网在线播放| 99pao成人国产永久免费视频| 国产精品国产三级国产aⅴ入口| 久久精品国产99| 欧美大片专区| 欧美一级在线视频| 免费看成人av| 亚洲免费在线视频一区 二区| 欧美在线影院在线视频| 亚洲免费观看在线观看| 亚洲欧美日韩成人| 亚洲精品乱码| 欧美在线视频网站| 这里只有精品电影| 久久综合狠狠综合久久综合88 | 亚洲在线1234| 亚洲激情视频在线观看| 亚洲伊人伊色伊影伊综合网| 亚洲国产91色在线| 亚洲欧美一区二区三区久久 | 在线欧美福利| 亚洲女人av| av成人天堂| 麻豆成人综合网| 久久aⅴ国产欧美74aaa| 欧美日本在线视频| 免费成人av| 国产视频丨精品|在线观看| 亚洲高清网站| 在线观看日韩国产| 午夜精品久久久久久久白皮肤| 亚洲精品免费在线| 久久亚洲私人国产精品va| 久久福利毛片| 国产精品亚洲网站| 亚洲另类一区二区| 99国内精品久久久久久久软件| 久久精品视频网| 欧美一区二区三区婷婷月色 | 亚洲欧美在线免费观看| 中文国产成人精品| 欧美黄色小视频| 亚洲高清不卡在线| 最新69国产成人精品视频免费| 久久国产天堂福利天堂| 欧美一区二区日韩一区二区| 欧美日韩在线一二三| 亚洲精品一区二区三区在线观看| 亚洲国产欧美精品| 麻豆91精品| 欧美国产一区视频在线观看| 在线观看亚洲精品视频| 久久久久久久尹人综合网亚洲| 久久精品国产精品| 国产亚洲一级| 久久久亚洲一区| 欧美不卡激情三级在线观看| 亚洲国产精品成人综合色在线婷婷| 久久久久9999亚洲精品| 久久亚洲精品欧美| 亚洲丶国产丶欧美一区二区三区| 久久久999精品| 欧美sm视频| 亚洲精品小视频在线观看| 欧美精品久久久久久久免费观看 | 国产精品v欧美精品∨日韩| 亚洲免费av片| 亚洲女与黑人做爰| 国产欧美91| 久久一区二区三区四区| 亚洲国产欧美不卡在线观看| 一区二区三区国产在线| 国产精品久久久久999| 销魂美女一区二区三区视频在线| 久久久国产一区二区| 亚洲国产日韩一区二区| 欧美日韩精品一区| 亚洲欧美日本另类| 欧美1区视频| 亚洲视频欧美视频| 国产热re99久久6国产精品| 久久这里有精品视频| 99综合在线| 免费高清在线一区| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲欧美国产高清| 蜜臀久久99精品久久久久久9| 日韩视频在线你懂得| 国产亚洲一级高清| 欧美激情综合在线| 久久精品国产一区二区三| 亚洲欧洲一区二区三区久久| 欧美一区二区在线| 亚洲精品视频在线播放| 国产午夜精品理论片a级探花| 欧美成人精品h版在线观看| 亚洲一区二区三区四区在线观看| 欧美r片在线| 欧美一区二视频在线免费观看| 亚洲国产精品久久精品怡红院| 国产精品任我爽爆在线播放 | 一区二区高清在线观看| 欧美成ee人免费视频| 欧美一区二区三区播放老司机 | 黄色精品一区| 国产精品美女| 欧美喷潮久久久xxxxx| 久久亚洲国产精品一区二区| 亚洲欧美日本另类| 在线综合亚洲| 99re热这里只有精品视频| 免费亚洲一区二区| 久久九九免费| 欧美一区二区三区久久精品| 一区二区三区鲁丝不卡| 亚洲精品一区二区网址| 精品999网站| 国产自产女人91一区在线观看| 欧美四级在线观看| 欧美日韩日韩| 欧美日产国产成人免费图片| 欧美风情在线观看| 免费视频一区二区三区在线观看| 久久久久.com| 久久久久五月天| 久久久久88色偷偷免费| 久久久久久久久久码影片| 久久疯狂做爰流白浆xx| 久久精品国产v日韩v亚洲| 欧美一区二区三区日韩视频| 亚洲欧美日韩综合aⅴ视频| 亚洲一区二区三区在线视频| 亚洲素人在线| 亚洲欧美日韩国产一区| 亚洲欧美日本在线| 欧美一区二区成人6969| 久久久久一区二区三区| 另类综合日韩欧美亚洲| 欧美激情在线狂野欧美精品| 欧美人在线观看| 欧美先锋影音| 国产欧美一二三区| 国内精品模特av私拍在线观看| 国产综合亚洲精品一区二| 悠悠资源网亚洲青| 亚洲精品久久视频| 亚洲综合精品| 久久久久国产免费免费| 欧美高清在线视频| aaa亚洲精品一二三区| 亚洲自啪免费| 玖玖玖国产精品| 欧美日韩不卡一区| 国产女人aaa级久久久级| 伊人久久综合97精品| 一本久久a久久精品亚洲| 午夜国产一区| 欧美大片va欧美在线播放| 亚洲美女视频| 欧美一区二区三区四区在线观看地址| 久久久久高清| 国产精品国产a| 亚洲第一视频网站| 午夜精品久久久久久久男人的天堂 | 亚洲黄网站黄| 一本一本久久| 久久精品一二三区| 欧美日韩一区二区三区四区在线观看 | 欧美视频二区36p| 国模私拍一区二区三区| 亚洲精品三级| 老鸭窝毛片一区二区三区| 亚洲日本成人在线观看| 亚洲免费在线视频| 欧美理论片在线观看| 国精产品99永久一区一区| av成人手机在线| 免费亚洲电影在线观看| 在线视频欧美精品| 欧美1区2区视频| 国产女精品视频网站免费| av成人国产| 亚洲高清在线观看一区| 欧美一区二区精品| 国产精品xnxxcom| 一本到高清视频免费精品|