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

posts - 43,  comments - 9,  trackbacks - 0

最近做了兩道floyd變種的題目,又加深了對(duì)floyd原理的理解.

第2題: tju 3214 Find the Path
http://acm.tju.edu.cn/toj/showp3214.html

題目大意是給一個(gè)無(wú)向圖,每個(gè)結(jié)點(diǎn)有個(gè)點(diǎn)權(quán)c[p]
對(duì)于查詢的點(diǎn)對(duì)i,j和權(quán)k,求在中間節(jié)點(diǎn)(不包含端點(diǎn)i,j)權(quán)值不大于k的限制下,i,j間最短路徑.
由于查詢次數(shù)多,因此一次查詢復(fù)雜度需要在O(logn)以內(nèi).考慮計(jì)算出所有點(diǎn)對(duì)在所有限制條件下的最短路,O(1)查詢.
限制條件不作用于端點(diǎn)i,j,正好可以用floyd解決.因?yàn)閒loyd正是不斷向中間點(diǎn)集中加入點(diǎn).只要限制一下這些被加入點(diǎn)的條件,就可以解決這題了.
初步歸納,對(duì)于查詢i,j,k,應(yīng)該輸出將所有c[p]<=k的點(diǎn)加入后的floyd[i,j]
對(duì)于限制k,點(diǎn)集的情況是:加了權(quán)最小的m個(gè)(0<=m<=N),這些點(diǎn)的權(quán)都不超過(guò)k
因此將點(diǎn)按權(quán)值升序排列.dist[k][i][j]表示:前k個(gè)點(diǎn)被加入后,i,j間的最短路.

代碼如下:
 

 1#include <iostream>
 2using namespace std;
 3int T,N,M,Q,pc[210];
 4int C[210],dist[210][210][210]; 
 5bool mycmp(int a, int b){
 6    return (C[a]<C[b]);
 7}

 8int main(){
 9    int i,j,k,p,a,b,c;
10    scanf("%d",&T);
11    while(T--){
12        memset(dist,0xff,sizeof(dist));
13        scanf("%d%d",&N,&M);
14        C[pc[0]=0]=-1;
15        for(i=1;i<=N;i++){
16            scanf("%d",&C[i]);
17            pc[i]=i;
18        }

19        sort(pc,pc+N+1,mycmp);
20        for(i=1; i<=M; i++){
21            scanf("%d%d%d",&a,&b,&c);
22            dist[0][a+1][b+1]=c;
23            dist[0][b+1][a+1]=c;
24        }

25        //floyd
26        for(k=1; k<=N; k++){
27            p=pc[k];
28            for(i=1; i<=N; i++){
29                for(j=1; j<=N; j++){
30                    if(dist[k][i][j]<0)
31                        dist[k][i][j]=dist[k-1][i][j];
32                    else if(dist[k-1][i][j]>=0)
33                        dist[k][i][j]=min(dist[k][i][j],dist[k-1][i][j]);
34                        
35                    if(i!=&& dist[k-1][i][p]>=0 && dist[k-1][p][j]>=0){
36                        if(dist[k][i][j]<0)
37                            dist[k][i][j]=dist[k-1][i][p]+dist[k-1][p][j];
38                        else
39                            dist[k][i][j]=min(dist[k][i][j], dist[k-1][i][p]+dist[k-1][p][j]);
40                    }

41                    //printf("%d,%d,%d(%d) ",k,i,j,dist[k][i][j]);
42                }

43            }
        
44        }

45        //query
46        scanf("%d",&Q);
47        while(Q--){
48            scanf("%d%d%d",&a,&b,&c);
49            //順序查找
50            for(i=0; i<=&& C[pc[i]]<=c; i++);
51            printf("%d\n",dist[i-1][a+1][b+1]);
52        }

53        printf("\n");
54    }

55    return 0;
56}

57
posted on 2009-03-31 14:39 wolf5x 閱讀(258) 評(píng)論(0)  編輯 收藏 引用 所屬分類: acm_icpcalgorithm
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

"Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore – drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming contests are only programming contests, and nothing more. Don't let them become your life - for your life is much more interesting and colorful." -- Petr

留言簿(3)

隨筆分類(59)

隨筆檔案(43)

cows

搜索

  •  

最新評(píng)論

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 性欧美办公室18xxxxhd| 亚洲日本中文字幕区| 欧美在线欧美在线| 久久精品99久久香蕉国产色戒| 国产精品毛片在线看| 日韩午夜在线| 亚洲自拍偷拍视频| 国产精品爽黄69| 亚洲一区尤物| 欧美一区成人| 国产亚洲精品久久久久动| 先锋影院在线亚洲| 久久一区二区视频| 99视频在线观看一区三区| 99精品视频一区| 欧美日本在线观看| 99热在线精品观看| 午夜精品久久| 国产日韩欧美制服另类| 欧美一区激情| 欧美大片免费观看| 一区二区三区|亚洲午夜| 欧美亚洲不卡| 欧美一区二区黄色| 欧美成人黄色小视频| 99爱精品视频| 国产精品激情偷乱一区二区∴| 亚洲一区二区三区精品在线观看| 久久aⅴ国产欧美74aaa| 影视先锋久久| 欧美屁股在线| 亚洲视频欧美视频| 久久精品一区二区三区不卡牛牛| 伊人色综合久久天天| 欧美国产精品一区| 亚洲一区二区三区中文字幕在线| 久久免费高清视频| 99精品视频网| 国内精品免费午夜毛片| 99精品热视频只有精品10| 午夜精品免费视频| 久久九九国产| 亚洲精品午夜| 久久精品日产第一区二区| 亚洲人www| 国产乱肥老妇国产一区二 | 久久精品国产综合精品| 性欧美video另类hd性玩具| 欧美亚洲三区| 亚洲欧洲日韩女同| 日韩亚洲综合在线| 亚洲免费婷婷| 欧美午夜在线一二页| 国产一本一道久久香蕉| 亚洲美女av在线播放| 一本色道久久综合精品竹菊| 亚洲欧美欧美一区二区三区| 韩日精品视频| 欧美日韩精品久久| 久久精品噜噜噜成人av农村| 日韩午夜在线观看视频| 久久综合一区二区三区| 亚洲一区二区三区成人在线视频精品 | 亚洲国产精品久久久久秋霞影院 | 蜜臀久久久99精品久久久久久| 99视频超级精品| 欧美第一黄色网| 欧美一区二区三区的| 一区二区日本视频| 亚洲黄色在线视频| 狠狠入ady亚洲精品经典电影| 欧美手机在线| 欧美理论在线| 欧美超级免费视 在线| 久久国产精品99久久久久久老狼| 一区二区欧美亚洲| 亚洲精品一区二区三区福利| 欧美肥婆在线| 蜜臀av国产精品久久久久| 久久国产88| 香蕉久久一区二区不卡无毒影院| 一区二区欧美国产| 日韩视频一区二区三区| 亚洲国产婷婷香蕉久久久久久99| 国产亚洲a∨片在线观看| 国产精品免费一区二区三区观看 | 欧美一区二区在线播放| 宅男噜噜噜66一区二区| 亚洲精品三级| 亚洲精品中文字幕女同| 欧美韩日视频| 欧美激情国产精品| 欧美高清在线精品一区| 欧美福利一区二区| 欧美国产成人在线| 欧美国产日韩一区二区三区| 你懂的亚洲视频| 欧美成人精品一区二区三区| 六月婷婷一区| 欧美大片va欧美在线播放| 亚洲成色777777在线观看影院| 韩国三级电影久久久久久| 国产精品久久久一区麻豆最新章节| 欧美日韩精品系列| 欧美视频在线观看一区| 国产精品区一区| 国产日韩欧美一区二区| 国产日本欧美一区二区三区| 国产农村妇女精品一区二区| 国产欧美一区二区精品忘忧草| 国产伦精品一区二区三区在线观看 | 一区二区三区精品国产| 蜜桃视频一区| 老巨人导航500精品| 蜜臀av一级做a爰片久久| 欧美a级片网站| 欧美大片免费观看| 亚洲精品综合久久中文字幕| 9i看片成人免费高清| 亚洲性人人天天夜夜摸| 欧美影院成人| 男同欧美伦乱| 欧美午夜精品理论片a级大开眼界| 欧美亚洲不卡| 国产一区视频在线看| 亚洲国产高清aⅴ视频| 夜夜爽www精品| 欧美一区二区三区日韩| 免费在线成人av| 最新日韩在线视频| 一本大道av伊人久久综合| 亚洲一区三区视频在线观看| 欧美中文字幕视频在线观看| 免费在线欧美黄色| 国产精品久久久久秋霞鲁丝 | 国产一区二区三区久久久久久久久| 好看的日韩视频| 99亚洲一区二区| 久久国产精品网站| 亚洲第一视频网站| 亚洲影院免费| 欧美成人69av| 国产欧美日本一区视频| 亚洲精品乱码久久久久久蜜桃91| 亚洲专区免费| 欧美成人情趣视频| 亚洲在线第一页| 欧美国产日本| 狠狠色综合网| 午夜精品999| 亚洲福利视频一区| 亚洲欧美日韩久久精品| 欧美二区在线| 国产亚洲欧美日韩精品| 妖精视频成人观看www| 久久人人爽人人爽| 一区二区三区国产精华| 美女视频网站黄色亚洲| 国产欧美一区二区三区在线看蜜臀| 亚洲日本免费| 久热成人在线视频| 亚洲砖区区免费| 欧美日韩另类一区| 亚洲国产精品精华液2区45| 午夜综合激情| 亚洲看片免费| 蜜乳av另类精品一区二区| 国产精品区一区| 一本在线高清不卡dvd| 欧美成人免费小视频| 性久久久久久久久| 国产精品久久久久7777婷婷| 亚洲伦理久久| 欧美激情第一页xxx| 久久久精品日韩| 国产亚洲第一区| 午夜视频久久久久久| 99香蕉国产精品偷在线观看| 欧美成人免费一级人片100| 一色屋精品亚洲香蕉网站| 久久国产加勒比精品无码| 亚洲少妇诱惑| 亚洲激情一区二区三区| 噜噜噜噜噜久久久久久91| 国内伊人久久久久久网站视频| 性欧美精品高清| 亚洲天堂成人| 国产精品久久久久一区| 亚洲尤物在线视频观看| 一本一本久久| 国产精品国产精品国产专区不蜜| 一本色道久久综合狠狠躁篇的优点| 亚洲国产精品123| 欧美插天视频在线播放| 亚洲精品在线观看免费| 亚洲欧洲在线免费| 欧美日本久久| 亚洲一区二区在线免费观看|