題目大意:有乙個類似於迷宮搜尋的圖,『.』代表的是無人的路,'x'代表有人的點,'#'代表此點不可通過,'@'代表門口。每個位置每一秒鐘只能站乙個人,每個位置到上下左右點的時間為1,問你所有人能不能出去,能出去輸出所有人都出去的最小時間,否則輸出-1.
a: 增加源點src,和匯點dest,然後根據每個時間點建出分層圖,每個時間對應一層,對於每層圖的構造如下
b:給每個格仔標 上號xi, 由於每個格仔一次只能佔一人,所以把每個格仔分為兩個點xa,xb,連上容量為1的有向邊,對於格仔為『x』的,(如果為第0層的話)在源點src與xa 之間連一條容量為1的有向邊,對於格仔為'@'的點,在xb與匯點dest連上容量為1的有向邊,對於每個格仔,(除『#』外),在xb與其上下左右及其本身 的對應下一層圖的xa連上容量為1 的一條有向邊
c:具體操作並不是一下子建出分層圖,由於時間是未知的,所以列舉時間,做最大流,當最大流小於人數時,時間加一併在原圖上增加一層,繼續求最大流,直到最大流大於等於人數,這時的時間就是答案
原理懂了,**也懂了,真自己敲估計還是很難敲出來,等專題訓練吧
1/*hdu_1733 escape*/2
/*分層圖網路流+列舉時間*/3
/*ac**:171ms
*/4 #include 5 #include 6 #include 7 #include 8
#define maxn 20005
9#define lim 75
10#define inf (1<<30)
11#define max(a,b) (a>b?a:b)
12#define min(a,b) (a13
using
namespace
std;
14struct
node
1519
node(){}
20};
21struct
edge
22e[2000000
];25
inthead[maxn],ecnt;
26int
gap[maxn],cur[maxn],dis[maxn],pre[maxn];
27int
n,m,scr,sink,vn,ti,sum,now;
28int
ans;
29int dir[5][2]=;
30char map[20][20
];31 node q[200000
];32
inthead,tail;
33bool vis[20][20
];34
void insert(int u,int v,int
w)35
47bool
bfs(node s)
4868}69
}70return
false;71
}72bool
ok()
7389}90
}91}92
return
ok;93}94
void
init()
95112
}113
}114 now=(m*n);
115 vn+=now;
116}
117int sap(int s,int t,int n)//
核心**(模版)
118126 gap[s]=n;
127bool
flag;
128while(dis[s]129149 aug=inf;
150}
151break;//
找到一條就退出
152}
153}
154if(flag) continue
;155
int mindis=n;
156for(i=head[u];i!=-1;i=e[i].next)
157164
}165
if((--gap[dis[u]])==0) break
;166 gap[dis[u]=mindis+1]++;
167 u=pre[u];
168}
169return
ans;
170}
171172
bool judge(int
ti)173
194}
195if(map[i][j]=='@'
)196
200}
201}
202 vn+=(n*m);
203 now+=(n*m); //
這個now好像沒啥用
204int t=sap(scr,sink,vn);
205 ans+=t;
206return ans==sum;
207}
208void
solve()
209211
if(!ok())
212 ans=ti=0
;213
while(true
)214
218 printf("
%d\n
",ti);
219}
220int
main()
221227
return0;
228 }
網路程式設計 02 分層模型
1.物理層 主要定義物理裝置標準,如網線的介面型別 光纖的介面型別 各種傳輸介質的傳輸速率等。它的主要作用是傳輸位元流 就是由1 0轉化為電流強弱來進行傳輸,到達目的地後再轉化為1 0,也就是我們常說的數模轉換與模數轉換 這一層的資料叫做位元。2.資料鏈路層 定義了如何讓格式化資料以幀為單位進行傳輸...
計算機網路0 分層
2 tcp ip分層 定義如何將位元流在物理 上傳遞等等 在傳送方將網路層的資料組裝成幀,並加上必要的控制資訊,告訴接收方如何提取資料。主要協議 無連線的網際協議ip 應用層只規定程序互動的規則,運輸層為程序通訊提供通用的資料傳輸服務。通用 指運輸層協議不針對某特特定的網路應用。由於應用層有很多應用...
HDU 4560 我是歌手 網路流 二分
題意 2013年一開始,一檔 節目 我是歌手 就驚豔了大家一回。閒話少說,現在,你成為了這檔節目的總導演,你的任務很簡單,安排每一期節目的內容。現在有n個歌手,m種歌曲流派 rock,pop之類 每個歌手都有自己擅長的流派領域,這些資料都已整理好。你的工作是,安排盡可能多場的演唱比賽。每一場比賽所有...