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

posts - 43,  comments - 9,  trackbacks - 0

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

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

題目大意是給一個無向圖,每個結點有個點權c[p]
對于查詢的點對i,j和權k,求在中間節點(不包含端點i,j)權值不大于k的限制下,i,j間最短路徑.
由于查詢次數多,因此一次查詢復雜度需要在O(logn)以內.考慮計算出所有點對在所有限制條件下的最短路,O(1)查詢.
限制條件不作用于端點i,j,正好可以用floyd解決.因為floyd正是不斷向中間點集中加入點.只要限制一下這些被加入點的條件,就可以解決這題了.
初步歸納,對于查詢i,j,k,應該輸出將所有c[p]<=k的點加入后的floyd[i,j]
對于限制k,點集的情況是:加了權最小的m個(0<=m<=N),這些點的權都不超過k
因此將點按權值升序排列.dist[k][i][j]表示:前k個點被加入后,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) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpcalgorithm
<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

"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

搜索

  •  

最新評論

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美一区亚洲| 久久久久久一区| 另类天堂视频在线观看| 亚洲日本中文字幕| 久久视频在线视频| 久久免费国产精品1| 久久久久久久网| 久久福利精品| 久久久久久久久伊人| 久久久久国色av免费看影院 | 欧美精品久久久久a| 久久aⅴ国产紧身牛仔裤| 久久久另类综合| 欧美激情按摩在线| 国产精品v欧美精品v日韩| 欧美视频一区二区三区| 国产一区二区三区不卡在线观看| 国产区亚洲区欧美区| 亚洲午夜一区二区三区| 午夜精品视频| 免费成人美女女| 国产精品video| 亚洲第一黄色| 亚洲免费网址| 欧美激情视频网站| 亚洲欧美精品伊人久久| 欧美激情亚洲| 黄色工厂这里只有精品| 亚洲网站啪啪| 久久亚洲国产成人| 一区二区三区四区精品| 久久精品国产第一区二区三区| 欧美看片网站| 在线看欧美视频| 久久精品综合| 亚洲最新视频在线播放| 久久免费精品日本久久中文字幕| 欧美性色aⅴ视频一区日韩精品| 在线免费观看一区二区三区| 欧美一级视频精品观看| 99国产成+人+综合+亚洲欧美| 久久香蕉国产线看观看av| 国产欧美一区二区精品秋霞影院| 日韩一级在线观看| 米奇777超碰欧美日韩亚洲| 一区二区高清在线观看| 免费av成人在线| 在线观看欧美成人| 欧美在线观看视频在线| 一本色道久久综合狠狠躁篇的优点 | 国产日韩欧美视频在线| 一区二区三区欧美激情| 欧美国产日韩一二三区| 久久精品五月| 国产三区精品| 欧美一区二区三区日韩视频| 亚洲巨乳在线| 欧美激情在线观看| 亚洲美女精品成人在线视频| 亚洲成色777777女色窝| 免费在线日韩av| 亚洲二区视频| 老司机亚洲精品| 久久欧美肥婆一二区| 亚洲国产欧洲综合997久久| 欧美大尺度在线| 欧美福利在线观看| 亚洲精品久久7777| 亚洲日韩欧美视频一区| 欧美日韩亚洲一区二区三区在线观看| 夜夜嗨av一区二区三区四区 | 久久综合色天天久久综合图片| 韩国v欧美v日本v亚洲v| 蜜臀91精品一区二区三区| 欧美成人dvd在线视频| 蜜臀99久久精品久久久久久软件| 国产在线拍偷自揄拍精品| 久久久久久成人| 麻豆成人91精品二区三区| 亚洲欧洲精品一区二区三区| 亚洲精品乱码久久久久| 国产精品xxxxx| 久久中文欧美| 欧美日韩第一区| 亚洲欧美区自拍先锋| 欧美一区二区三区在线视频| 亚洲欧洲在线一区| 中文日韩在线视频| 精品av久久久久电影| 亚洲高清激情| 欧美午夜宅男影院| 久久资源在线| 国产精品国产精品国产专区不蜜| 久久野战av| 欧美日本精品| 久久综合久久综合这里只有精品| 欧美电影电视剧在线观看| 亚洲伊人一本大道中文字幕| 欧美一级播放| 一本色道久久综合亚洲精品高清| 亚洲欧美日韩在线| 亚洲国产精品悠悠久久琪琪 | 久久夜色精品国产欧美乱| 一区二区三区日韩精品| 亚洲欧美一区二区激情| 亚洲精品欧美一区二区三区| 亚洲一区二区成人| 亚洲精品免费一区二区三区| 欧美伊人久久久久久午夜久久久久| 亚洲精品综合久久中文字幕| 午夜宅男久久久| 一区二区三区四区蜜桃| 久久久噜噜噜| 欧美一级淫片播放口| 欧美午夜一区二区福利视频| 欧美大片免费| 永久免费毛片在线播放不卡| 午夜宅男欧美| 久久精品人人做人人综合| 国产精品欧美在线| 日韩一区二区电影网| 夜夜狂射影院欧美极品| 久久综合激情| 欧美波霸影院| 亚洲第一福利在线观看| 久久精品在线播放| 狂野欧美一区| 国产亚洲欧美日韩日本| 亚洲制服欧美中文字幕中文字幕| 中日韩男男gay无套| 欧美日本一道本| 亚洲国产精品t66y| 亚洲电影第三页| 久久综合久久综合九色| 欧美黄污视频| av成人激情| 欧美无乱码久久久免费午夜一区| 日韩亚洲欧美成人一区| 亚洲一区二区三区四区五区午夜 | 欧美国产成人在线| 欧美成年人视频网站欧美| 国产一区日韩欧美| 久久精品视频va| 欧美 日韩 国产 一区| 一区二区在线不卡| 美女网站久久| 99riav1国产精品视频| 新67194成人永久网站| 国产精品久久中文| 欧美一区二区在线免费观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 激情久久五月天| 久久综合中文色婷婷| 亚洲电影网站| 亚洲一区二区三区国产| 国产欧美三级| 久久久久久久久一区二区| 亚洲成色777777在线观看影院| 99热这里只有成人精品国产| 国产精品久久久久久久9999| 久久黄色影院| 亚洲美女在线国产| 欧美一级免费视频| 亚洲第一黄网| 欧美日韩一区二区三区免费看| 亚洲少妇自拍| 欧美91视频| 亚洲欧美在线高清| 亚洲国产成人在线播放| 欧美日韩调教| 久久久蜜臀国产一区二区| 日韩视频在线观看国产| 久久亚洲综合网| 亚洲一区二区三区免费在线观看| 国产午夜亚洲精品理论片色戒| 欧美.com| 久久精品天堂| 亚洲综合三区| 亚洲美女av黄| 欧美激情亚洲| 久热综合在线亚洲精品| 午夜视频一区| 亚洲视频图片小说| 最新日韩av| 亚洲高清在线精品| 国内成人精品2018免费看| 国产精品久久久久av免费| 欧美国产日本在线| 久久精品日产第一区二区| 亚洲永久免费av| 99精品视频一区| 欧美激情综合色| 久久一日本道色综合久久| 香蕉久久夜色精品国产| 99视频热这里只有精品免费| 国产一区二区日韩精品欧美精品| 欧美粗暴jizz性欧美20| 久久久久久香蕉网| 翔田千里一区二区| 亚洲精品一区久久久久久|