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

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

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

2019-11-14 08:45:09
字體:
來源:轉載
供稿:網友

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
夜夜嗨av一区二区三区免费区| 国产精品福利在线观看| 97热精品视频官网| 91精品久久久久久久久| 午夜精品久久久久久久久久久久久| 久久成人这里只有精品| 另类色图亚洲色图| 欧美大尺度激情区在线播放| 欧美久久精品午夜青青大伊人| 一道本无吗dⅴd在线播放一区| 2020欧美日韩在线视频| 久久久精品久久久久| 欧美性猛交xxxx免费看漫画| 国产欧美日韩专区发布| 色婷婷久久av| 久久久久日韩精品久久久男男| 日韩高清中文字幕| 萌白酱国产一区二区| 欧美性xxxxx极品娇小| 欧美视频在线免费| 国产精品久久二区| 久久久久国产精品一区| 清纯唯美日韩制服另类| 成人做爰www免费看视频网站| 日韩在线视频导航| 国产精品黄视频| 国产97色在线|日韩| 国产精品91一区| 一本色道久久综合狠狠躁篇的优点| 国产精品综合网站| 欧美日韩色婷婷| 亚洲午夜小视频| 亚洲精品一区二区三区婷婷月| 亚洲精品一区二三区不卡| 成人免费高清完整版在线观看| 亚洲欧美激情四射在线日| 91免费综合在线| 亚洲午夜未满十八勿入免费观看全集| 亚洲欧美三级在线| 久久精品电影网| 成人羞羞国产免费| 久久国产精品久久久久久| 色妞在线综合亚洲欧美| 在线观看精品自拍私拍| 亚洲九九九在线观看| 91久久在线观看| 久久久久免费视频| 一区二区欧美日韩视频| 久久99久久99精品免观看粉嫩| 亚洲精品成人av| 久久精品中文字幕一区| 色一情一乱一区二区| 午夜精品三级视频福利| 久久久久久国产精品久久| 亚洲精品久久久久国产| 91精品久久久久久久久久久久久久| 色多多国产成人永久免费网站| 日韩在线播放av| 国产午夜精品麻豆| 日韩精品中文字幕在线观看| 国内精品久久久| 热门国产精品亚洲第一区在线| 亚洲新中文字幕| 日韩中文字幕在线| 亚洲福利视频网| 国产婷婷97碰碰久久人人蜜臀| 国产欧美日韩专区发布| 国内免费精品永久在线视频| 亚洲bt天天射| 亚洲免费福利视频| 九九精品在线观看| 爽爽爽爽爽爽爽成人免费观看| 久久久久中文字幕| 欧美成人激情视频免费观看| 欧美人与物videos| 久久精品亚洲精品| 亚洲欧美一区二区三区在线| 欧美理论电影在线观看| 久久国产精品网站| 国内外成人免费激情在线视频| 国产成人综合一区二区三区| 中文字幕国产亚洲2019| 91天堂在线视频| 国产精品久久久久9999| 亚洲人成亚洲人成在线观看| 久久久久久九九九| 欧美日韩在线第一页| 国产精品入口日韩视频大尺度| 精品国产乱码久久久久久虫虫漫画| 国产一区二区在线免费| 亚洲网站在线播放| 国产精品啪视频| 欧美日韩中文字幕日韩欧美| 亚洲国产高清高潮精品美女| 久久99精品久久久久久青青91| 精品国产户外野外| 国产一区二区免费| 欧美激情视频在线| www国产亚洲精品久久网站| 亚洲在线一区二区| 92版电视剧仙鹤神针在线观看| 91网站免费看| 精品国产精品自拍| 午夜精品久久久久久久99热浪潮| 国产精品久久久久7777婷婷| 色婷婷**av毛片一区| 亚洲精品国精品久久99热| 亚洲天堂av综合网| 亚洲欧美国产一区二区三区| 亚洲精品视频中文字幕| 日韩欧美国产网站| 亚洲国产成人久久综合一区| 久久久久久com| 国产在线精品一区免费香蕉| 欧美中文字幕精品| 亚洲精品久久在线| 欧美亚洲另类制服自拍| 亚洲女人天堂视频| 久久久精品国产| 国产欧美一区二区三区四区| 中文字幕亚洲国产| 欧美另类高清videos| 久久天天躁日日躁| 在线成人中文字幕| 色综合男人天堂| 日韩亚洲成人av在线| 日韩av三级在线观看| 97精品国产97久久久久久免费| 国产日韩欧美在线观看| 久久久精品欧美| 欧美国产日韩免费| 国产精品扒开腿做爽爽爽视频| 久久综合电影一区| 欧美尤物巨大精品爽| 亚洲码在线观看| 在线播放日韩欧美| 中文字幕日本欧美| 国产一区二区精品丝袜| 8050国产精品久久久久久| 欧美性xxxx| 久久久精品亚洲| 亚洲淫片在线视频| 亚洲国产中文字幕在线观看| 国产精品香蕉国产| 亚洲高清一区二| 久久久999精品免费| 日本不卡高字幕在线2019| 在线不卡国产精品| 91av在线免费观看视频| 日韩久久免费电影| 在线免费观看羞羞视频一区二区| 国产精品网红直播| 亚洲综合自拍一区| 欧美激情视频一区二区三区不卡| 日韩av最新在线| 精品国产户外野外| 久久精品美女视频网站| 日韩av三级在线观看| 日韩黄色高清视频| 91wwwcom在线观看| 成人午夜在线观看| www亚洲精品| 欧美精品一本久久男人的天堂| 欧美日韩在线视频首页|