亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

HDU3035-平面圖最小割轉最短路

2019-11-11 06:53:33
字體:
來源:轉載
供稿:網友

PS:這是get姿勢后的第一道建圖稍微麻煩的題,居然寫完代碼沒調試一次AC了~~~哈哈~~~~

War

Time Limit: 20000/10000 MS (java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1386    Accepted Submission(s): 403PRoblem DescriptionCountry X is under attack by enemies. Now the army of enemy has arrived at City Y. City Y consists of an N×M grid. All the paths in the grid are bidirectional, horizontal or vertical or diagonal. The upper-left corner is (0, 0) and lower-right corner is (N, M). The army enters at (0, 0) and they must get to (N, M) in order to continue their attack to the capital of Country X. The figure below shows what does City Y looks like.
Every blackened node represents a vertex. The number beside each edge is the amount of TNT needed to destroy that road. The army of Country X is unable to beat the enemy now. The only thing they can do is to prevent them from heading to their capital so that they can have more time to prepare for striking back. Of course they want to use the least amount of TNT to disconnect (0, 0) and (N, M). You are a talented programmer, please help them decide the least amount needed. InputThere are multiple test cases.The first line of each test case contains two positive integers N and M, representing height and width of the grid.Then N+1 lines each containing M integers, giving you the amount needed of horizontal roads in row major order.Then N lines each containing M+1 integers, giving you the amount needed of vertical roads in row major order.Then 2N lines each containing 2M integers, giving you the amount needed of diagonal roads in row major order.There is a blank line after each input block. The sample input is corresponding to the figure above.Restriction:1 <= N, M <= 5001 <= amount <= 1,000,000 OutputOne line for each test case the least amount of TNT needed to disconnect (0, 0) and (N, M). Sample Input
2 31 9 41 8 76 2 37 5 4 86 2 8 710 4 1 7 5 35 4 10 2 1 96 3 2 9 5 38 9 6 3 10 10 Sample Output
18 Source2009 Multi-University Training Contest 13 - Host by HIT

題目思路:

                    s-t平面圖最小割轉最短路的裸題,具體可以參見我之前寫的博客:   s-t平面圖最小割轉最短路算法

                    這題我們很容易可以得到對偶圖的點的個數為n*m*4+2 ,邊的個數為n*m*4+n*m*2+n+m-2,

                    所以如果用普通的spfa的話會超時,因此我們這里要用優先隊列優化,這里編號的話我們可以

                    以0點為S*,n*m*4+1為T*,然后中間每個大格子中的四個小格子編號可以1 2 3 4 這樣按順序排

                    從上到下,從左到右! 注意下細節,應改建起圖還是不難的!

AC代碼:

#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<queue>using namespace std;const int maxn = 1e6+100;const int inf = 1e9;struct nod{   int v,w,nex;}edge[maxn<<2];int n,m,nn,e,k;int dis[maxn],hed[maxn];bool vis[maxn];void add(int u,int v,int w){    edge[e].v = v,edge[e].w = w,edge[e].nex = hed[u],hed[u]=e++;    edge[e].v = u,edge[e].w = w,edge[e].nex = hed[v],hed[v]=e++;}void dij(){   for(int i=0;i<=nn;i++)    dis[i]=inf,vis[i]=0;   dis[0]=0;   priority_queue<pair<int,int > >q;   q.push(make_pair(-dis[0],0));   while(!q.empty()){        int u = q.top().second;q.pop();        if(vis[u])continue;vis[u]=1;        for(int i=hed[u];~i;i=edge[i].nex){            int v = edge[i].v;            if(dis[v]>dis[u]+edge[i].w){                dis[v]=dis[u]+edge[i].w;                if(!vis[v]){                    q.push(make_pair(-dis[v],v));                }            }        }   }}int main(){    while(~scanf("%d%d",&n,&m)){        nn = n*m*4+1;e=0;        memset(hed,-1,sizeof(hed));        for(int i=1;i<=n+1;i++){            for(int j=1;j<=m;j++){                scanf("%d",&k);                if(i==1)                  //最上面的邊                    add(nn,(j-1)*4+1,k);                   else if(i==n+1)            //最下面的邊                    add(0,(n-1)*m*4+(j-1)*4+3,k);                else                       //中間水平的邊                    add((i-2)*m*4+(j-1)*4+3,(i-1)*m*4+(j-1)*4+1,k);            }        }        for(int i=1;i<=n;i++){            for(int j=1;j<=m+1;j++){                scanf("%d",&k);                if(j==1)                 //最左面的邊                    add(0,(i-1)*m*4+2,k);                else if(j==m+1)            //最右面的邊                    add(nn,i*m*4,k);                else                        //中間垂直的邊                    add((i-1)*m*4+(j-1)*4,(i-1)*m*4+(j-1)*4+2,k);            }        }        for(int i=0;i<2*n;i++){            for(int j=0;j<2*m;j++){                scanf("%d",&k);                //中間斜著的邊,這個公式在圖上畫畫應該不難推                add(i/2*m*4+j/2*4+1+(i%2)*2,i/2*m*4+j/2*4+2+(j%2)*2,k);            }        }        dij();        printf("%d/n",dis[nn]);    }    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产97色在线|日韩| 国产亚洲精品va在线观看| 91久久久久久久久久| 成人性生交大片免费观看嘿嘿视频| 日韩在线精品视频| 国产精品美乳一区二区免费| 国产精品成人va在线观看| 欧美成人激情视频| 一本色道久久综合狠狠躁篇的优点| 亚洲视频电影图片偷拍一区| 欧美一区二区三区艳史| 欧美性猛交xxxx富婆| 色噜噜亚洲精品中文字幕| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲二区在线播放视频| 午夜精品久久久久久久白皮肤| 久久精品国产成人| 亚洲香蕉av在线一区二区三区| 国产欧美精品xxxx另类| 亚洲国产精品99久久| 国产不卡av在线免费观看| 国产精品久久久久久久一区探花| 国语自产精品视频在线看| 亚洲天堂av图片| 日韩成人中文字幕在线观看| 亚洲精品国产福利| 午夜美女久久久久爽久久| 一区二区日韩精品| 国产精品稀缺呦系列在线| 亚洲精品网址在线观看| 精品久久久久久中文字幕一区奶水| 国产欧美一区二区三区久久人妖| 欧美精品一二区| 久久在线免费观看视频| 亚洲一区二区在线播放| 成人美女av在线直播| 国产精品成人av在线| 亚洲伊人第一页| 欧美精品videos另类日本| 日韩av在线精品| 亚洲最大的网站| 黑人精品xxx一区一二区| 美女福利精品视频| 91国产视频在线播放| 久久精品男人天堂| 久久久噜噜噜久噜久久| 欧美日韩一区二区三区| 亚洲精品视频播放| 成人精品视频在线| 日本aⅴ大伊香蕉精品视频| 欧洲永久精品大片ww免费漫画| 97视频免费看| 91在线视频精品| 日本国产欧美一区二区三区| 精品自拍视频在线观看| 欧美性受xxxx白人性爽| 国产午夜精品视频免费不卡69堂| 国产91免费看片| 91久久久久久久久久久| 日韩av网址在线| 91av在线不卡| 欧美性jizz18性欧美| 在线成人激情视频| 久青草国产97香蕉在线视频| 国产精品久久久久高潮| 亚洲一区二区三区成人在线视频精品| 欧美www视频在线观看| 国产精品国语对白| 国产精品一区二区三区久久久| 欧美一区二三区| 欧美亚洲免费电影| 疯狂做受xxxx欧美肥白少妇| 亚洲免费伊人电影在线观看av| 久久精视频免费在线久久完整在线看| xxx欧美精品| 国产精品看片资源| 日韩av影视综合网| 国产欧美日韩中文字幕| 亚洲有声小说3d| 欧美做受高潮电影o| 少妇激情综合网| 91成人在线播放| 欧美激情性做爰免费视频| 最近2019中文字幕mv免费看| 疯狂蹂躏欧美一区二区精品| www国产精品com| 欧美综合国产精品久久丁香| 久久久999精品| 久久久人成影片一区二区三区观看| 77777少妇光屁股久久一区| 国产欧美中文字幕| 国产在线不卡精品| 日韩有码在线播放| 国产视频精品xxxx| 中文字幕日韩精品在线观看| 成人在线激情视频| 亚洲精品av在线| 97碰在线观看| 亚洲乱码一区av黑人高潮| 91色琪琪电影亚洲精品久久| 欧美久久精品一级黑人c片| 高跟丝袜欧美一区| 亚洲精品久久久久久久久久久久| 狠狠综合久久av一区二区小说| 亚洲天堂成人在线| 91影院在线免费观看视频| 久久综合久久88| 欧美日韩国产专区| 国产精品国产三级国产aⅴ浪潮| 91精品国产九九九久久久亚洲| 国产精品久久久久久久久久ktv| 久久亚洲电影天堂| 亚洲成人av资源网| 日韩麻豆第一页| 亚洲欧美中文另类| 中文字幕精品一区久久久久| 欧美在线中文字幕| 欧美激情视频在线观看| 国产精品入口免费视| 欧美午夜美女看片| 91九色精品视频| 国产美女精品视频免费观看| 日韩av在线电影网| 日本久久精品视频| 4388成人网| 国产主播精品在线| 亚洲精品日韩久久久| 亚州av一区二区| 亚洲欧美制服另类日韩| 日韩成人中文电影| 在线观看日韩欧美| 欧美日本高清视频| 亚洲精品98久久久久久中文字幕| 欧美日韩精品在线| 91tv亚洲精品香蕉国产一区7ujn| 国产精品99久久久久久人| 精品久久在线播放| 欧美亚洲免费电影| 久久久成人的性感天堂| 国产精品视频精品| 亚洲欧美在线播放| 久久亚洲精品毛片| www.日韩.com| 中文字幕av一区中文字幕天堂| 国产91精品视频在线观看| 国产日韩精品在线| 欧美专区在线视频| 日韩的一区二区| 国产精品xxxxx| 国产精品久久久久久久久影视| 亚洲成色777777在线观看影院| 欧美自拍视频在线观看| 欧美野外猛男的大粗鳮| 夜色77av精品影院| 成人国产精品久久久久久亚洲| 精品亚洲一区二区三区四区五区| 欧美激情a∨在线视频播放| 亚洲欧洲在线观看| 亚洲视频欧美视频| 青青草精品毛片| 亚洲第一精品夜夜躁人人爽| 啊v视频在线一区二区三区| 欧美性xxxxx| 欧美性感美女h网站在线观看免费|