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

poj 3255 Roadblocks 次短路

   這個(gè)題是求次短路。有個(gè)不錯(cuò)的解法,是根據(jù)一個(gè)結(jié)論,替換調(diào)最短路里面的一條邊肯定能得到次短路。
   那么,只要枚舉所有邊就可以了。比如,假設(shè)開(kāi)始點(diǎn)為s,目標(biāo)點(diǎn)是d,設(shè)最短路為dis(s,d)。對(duì)于邊(u,v),
dis(s, u) + w(u, v) + dis(v, d) 大于dis(s, d),則該路徑就可能是次短路。求出最小的大于dis(s,d)的值就可以了。
   方式是從s開(kāi)始和從d開(kāi)始進(jìn)行2次單源多終點(diǎn)最短路徑算法。然后枚舉邊即可。
   
   該算法可以這樣理解。因?yàn)樘鎿Q最短路徑里面的邊,路徑的長(zhǎng)度只會(huì)變大或者不變。如果存在讓更短路徑變小的邊,
這本身就與最短路徑是矛盾的。所以替換2條或者更多的邊只會(huì)讓路徑變得更大。因此,只需考慮替換一條邊的情況
即可。

   代碼如下:
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;

const int MAX_N = 5000 + 10;
struct Edge
{
    int nE;
    int nDis;
    Edge(int e, int d):nE(e), nDis(d) {}
};
vector<Edge> graph[MAX_N];
bool bVisit[MAX_N];
int nSDis[MAX_N];
int nEDis[MAX_N];

struct Node
{
    int nN;
    int nDis;

    bool operator < (const Node& node) const
    {
        return nDis > node.nDis;
    }
};

int ShortestPath(int nS, int nE, int* nDis, int nN)
{
    priority_queue<Node> pq;
    memset(bVisit, falsesizeof(bVisit));
    for (int i = 1; i <= nN; i++)
    {
        nDis[i] = 0x7fffffff;
    }
    nDis[nS] = 0;
    Node head;
    head.nDis = 0, head.nN = nS;
    pq.push(head);

    while (pq.empty() == false)
    {
        Node head = pq.top();
        pq.pop();
        int nU = head.nN;
        if (bVisit[nU]) continue;
        bVisit[nU] = true;

        for (int i = 0; i < graph[nU].size(); ++i)
        {
            int nV = graph[nU][i].nE;
            int nLen = head.nDis + graph[nU][i].nDis;
            if (nLen < nDis[nV])
            {
                nDis[nV] = nLen;
                Node node;
                node.nDis = nLen;
                node.nN = nV;
                pq.push(node);
            }
        }
    }
    
    return nDis[nE];
}

int Second(int nS, int nE, int nN)
{
    int nShortest = ShortestPath(nS, nE, nSDis, nN);
    ShortestPath(nE, nS, nEDis, nN);

    int nAns = 0x7fffffff;

    for (int i = 1; i <= nN; ++i)
    {
        for (int j = 0; j < graph[i].size(); ++j)
        {
            int nU = i;
            int nV = graph[i][j].nE;
            int nLen = nSDis[i] + graph[i][j].nDis + nEDis[nV];
            if (nLen != nShortest)
            {
                nAns = min(nAns, nLen);
            }
        }
    }

    return nAns;
}

int main()
{
    int nN, nR;
    int nA, nB, nD;

    while (scanf("%d%d", &nN, &nR) == 2)
    {
        for (int i = 1; i <= nN; ++i)
        {
            graph[i].clear();
        }

        while (nR--)
        {
            scanf("%d%d%d", &nA, &nB, &nD);
            graph[nA].push_back(Edge(nB, nD));
            graph[nB].push_back(Edge(nA, nD));
        }
        printf("%d\n", Second(1, nN, nN));
    }

    return 0;
}

posted on 2012-09-03 22:39 yx 閱讀(1545) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 圖論


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


<2012年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

導(dǎo)航

統(tǒng)計(jì)

公告

常用鏈接

留言簿(3)

隨筆分類

隨筆檔案

me

好友

同學(xué)

網(wǎng)友

搜索

最新評(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>
            欧美一级电影久久| 欧美一级二区| 欧美在线3区| 欧美亚洲一区二区在线| 亚洲欧美另类国产| 亚洲欧美日韩国产精品| 欧美一二三视频| 欧美一区二区性| 久久久www成人免费精品| 久久综合精品一区| 欧美sm视频| 亚洲美女精品一区| 中文亚洲欧美| 欧美在线三级| 老司机aⅴ在线精品导航| 欧美电影在线| 国产精品三区www17con| 国语自产精品视频在线看一大j8| 国产综合久久久久久| 亚洲精品一区在线观看香蕉| 中文无字幕一区二区三区| 性伦欧美刺激片在线观看| 免费久久99精品国产| 99视频精品在线| 欧美在线不卡| 欧美日韩免费视频| 国产综合视频| 亚洲国产高潮在线观看| 国产欧美视频一区二区| 1024亚洲| 午夜精品成人在线视频| 美女网站在线免费欧美精品| 一本色道久久综合亚洲精品不卡| 久久精品国产2020观看福利| 欧美日韩伦理在线免费| 黄色欧美日韩| 欧美中文日韩| 日韩写真在线| 麻豆精品精品国产自在97香蕉| 欧美婷婷六月丁香综合色| 在线电影国产精品| 狂野欧美一区| 欧美寡妇偷汉性猛交| 嫩模写真一区二区三区三州| 亚洲风情在线资源站| 亚洲一区二区伦理| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美日韩一区不卡| 国产亚洲精品bt天堂精选| 日韩视频专区| 美脚丝袜一区二区三区在线观看| 国产精品丝袜久久久久久app| 亚洲国产精品va在线看黑人动漫| 午夜亚洲激情| 亚洲一区二区三区高清| 欧美丝袜一区二区| 亚洲精品视频二区| 免费观看一区| 久久久一区二区| 国产综合色产在线精品| 久久激情视频| 午夜精品福利电影| 国产精品网站视频| 性欧美18~19sex高清播放| 亚洲视频观看| 国产精品乱子久久久久| 亚洲专区在线| 亚洲素人在线| 国产精品久久国产精品99gif| 99精品视频网| 亚洲靠逼com| 欧美日韩视频第一区| 日韩一级在线| 一本色道综合亚洲| 国产精品久久久久久久电影 | 亚洲精品免费电影| 欧美尤物一区| 欧美一区二区三区四区高清| 国产一区二区三区最好精华液| 欧美在线观看一二区| 亚洲欧美在线看| 黄网站免费久久| 亚洲国产精品久久久久秋霞蜜臀 | 久久亚洲春色中文字幕久久久 | 亚洲欧美在线另类| 午夜精品久久久久久久久久久久 | 亚洲久色影视| 国产中文一区二区| 欧美一区二区免费| 亚洲欧美日韩在线播放| 亚洲性感美女99在线| 国产亚洲精品久| 欧美国产一区二区| 欧美性做爰猛烈叫床潮| 欧美专区18| 麻豆久久婷婷| 午夜精品视频在线| 久久影视精品| 亚洲综合电影| 久久综合网hezyo| 亚洲新中文字幕| 久久精品视频在线播放| 在线一区二区三区做爰视频网站| 亚洲亚洲精品三区日韩精品在线视频 | 亚洲国产精品ⅴa在线观看| 欧美激情第一页xxx| 亚洲欧美一区二区激情| 久久综合久色欧美综合狠狠 | 亚洲高清久久久| 国产精品免费一区二区三区在线观看| 鲁大师影院一区二区三区| 欧美午夜精品久久久久免费视| 老司机免费视频一区二区| 欧美私人网站| 亚洲国产日韩欧美| 激情成人亚洲| 91久久久久久国产精品| 国产精品成人国产乱一区| 欧美成人资源网| 国产一区二区三区久久久久久久久| 亚洲国产成人tv| 狠狠色丁香婷婷综合影院| 在线午夜精品自拍| 一本色道88久久加勒比精品| 美女精品在线| 免费一级欧美在线大片| 国产一区二区三区四区三区四| 一区二区久久| 这里只有精品电影| 欧美精品一区二区在线播放| 亚洲午夜精品一区二区三区他趣| 免费日韩成人| 狼人天天伊人久久| 国产欧美日韩精品专区| 一区二区三区四区蜜桃| 99视频精品| 欧美精品v国产精品v日韩精品| 老司机精品视频一区二区三区| 国产午夜精品一区理论片飘花| 亚洲自拍高清| 久久aⅴ国产欧美74aaa| 国产精品手机在线| 亚洲自拍偷拍麻豆| 欧美一级成年大片在线观看| 国产手机视频一区二区| 欧美一区永久视频免费观看| 久久精品免费看| 激情一区二区三区| 巨胸喷奶水www久久久免费动漫| 久久青青草原一区二区| 亚洲精品永久免费| 亚洲精选在线| 亚洲精品久久久久久一区二区| 国产欧美视频一区二区三区| 国产精品一区二区你懂的| 国产精品qvod| 狠狠干成人综合网| 99re6这里只有精品视频在线观看| 亚洲国产日韩欧美一区二区三区| 亚洲国产专区校园欧美| 亚洲美女av网站| 国产嫩草影院久久久久| 亚洲在线电影| 久久精品天堂| 在线日韩中文| 欧美日韩国产成人在线免费| 亚洲一品av免费观看| 久久久久久亚洲精品中文字幕| 在线精品高清中文字幕| 欧美另类极品videosbest最新版本 | 久久久久久久久综合| 亚洲欧洲中文日韩久久av乱码| 欧美日韩国产综合视频在线观看中文| 久久成人免费日本黄色| 久久久久久久网站| 亚洲精品在线一区二区| 欧美在线综合视频| 91久久精品网| 国产精品久久影院| 免费精品99久久国产综合精品| aa成人免费视频| 久久综合精品一区| 亚洲欧美在线播放| 亚洲精品免费观看| 国产一区二区三区久久精品| 欧美日韩国产不卡| 久久午夜色播影院免费高清| 亚洲伊人网站| 亚洲人成在线观看| 国产热re99久久6国产精品| 欧美国产另类| 老司机一区二区三区| 亚洲欧美日韩精品综合在线观看| 亚洲国产成人av在线| 久久精品首页| 欧美一区二区三区视频在线 | 国产欧美日韩综合一区在线播放| 欧美91视频| 久久嫩草精品久久久精品| 亚洲永久字幕|