beloved_ACM
SB,NB,都是一个B.
posts - 29, comments - 2, trackbacks - 0, articles - 0
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
ZOJ——2760——HOW many shortest path
Posted on 2010-10-08 22:09
成幸毅
阅读(363)
评论(0)
编辑
收藏
引用
题目的意思是要求都多少边不重合的最短路。可以先用一个二重循环算出哪些边在可在最短路中,然后给他们赋值容量1,然后再从求个最大流就好了。下面给出计算哪些边在最短路径中的代码。
void
floyd()
{
for
(
int
k
=
0
; k
<
n; k
++
)
for
(
int
i
=
0
; i
<
n; i
++
)
if
(d[i][k]
!=
INF )
for
(
int
j
=
0
; j
<
n; j
++
)
{
if
(d[k][j]
!=
INF)
{
if
(d[i][j]
>
d[k][j]
+
d[i][k])
{
d[i][j]
=
d[k][j]
+
d[i][k];
}
}
}
for
(
int
i
=
0
; i
<
n; i
++
)
if
(d[s][i]
!=
INF)
for
(
int
j
=
0
; j
<
n; j
++
)
{
if
(d[j][t]
!=
INF)
if
(mat[i][j]
!=
-
1
)
{
if
(d[s][t]
==
d[s][i]
+
mat[i][j]
+
d[j][t])
{
c[i][j]
=
1
;
}
}
}
}
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 成幸毅
日历
<
2010年10月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
DP
随笔档案
2011年9月 (9)
2011年8月 (1)
2011年3月 (1)
2010年10月 (15)
2010年9月 (3)
搜索
最新评论
1. re: 最长递增子序列
@王元达
thx
--passerby
2. re: 最长递增子序列
程序非常不错,很详细
--王元达
阅读排行榜
1. 最长递增子序列(1501)
2. MANACHER'S ALGORITHM(1269)
3. POJ_2987 最大权闭合图(563)
4. POJ 3498 满足点容量限制的网络流(536)
5. POJ 3084_最小割(484)
评论排行榜
1. 最长递增子序列(2)
2. 混合图欧拉回路(0)
3. ZOJ_2314 无源汇带上下界的可行流(0)
4. 康拓展开应用实例(0)
5. MANACHER'S ALGORITHM(0)