poj 1125_迪杰斯特拉
2013-05-02 10:24
295 查看
题目描述:
在无向图中进行留言散播。不定起点,边权为一次散播时间。求散播留言到全网的最小时间。
解题思路:
做v次迪杰斯特拉。每一次求从v点出发消息扩散的全网的最短时间Des[v]。在一次迪杰斯特拉中,求从v点出发到其余各点的最短时间,存到数组D[]中。计算完V到其余各点的消息扩散最短时间后,选择这个v点的D[]的最大值——即扩散到最远节点花费的时间,存为Des[v]。最后再Des[v]中选择最小值,为所求。
时间复杂度为O(v3
参考代码:
#include <stdio.h>
#include <stdlib.h>
#define Infinity 1000000000
#define N 101
int G
;
int Des
;
int D
,final
;
main()
{
int
i,j,k,adj,min,max,tmp;
int n, num;
scanf("%d",&n);
while(n!=0)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
G[i][j] = Infinity;
//G[][]
for(i=1; i<=n; i++)
{
scanf("%d",&num);
for(j=1;j<=num;j++)
{
scanf("%d",&adj);
scanf("%d",&G[i][adj]);
}
}
for(k=1; k<=n; k++) //做n次迪杰斯特拉,得到Des[k]:
max(D[],排除自己)
{
//initial
for(i=1;i<=n;i++)
{
D[i] = Infinity;
final[i] = 0;
}
final[k] = 1;
for(i=1;i<=n;i++)
D[i] = G[k][i];
在无向图中进行留言散播。不定起点,边权为一次散播时间。求散播留言到全网的最小时间。
解题思路:
做v次迪杰斯特拉。每一次求从v点出发消息扩散的全网的最短时间Des[v]。在一次迪杰斯特拉中,求从v点出发到其余各点的最短时间,存到数组D[]中。计算完V到其余各点的消息扩散最短时间后,选择这个v点的D[]的最大值——即扩散到最远节点花费的时间,存为Des[v]。最后再Des[v]中选择最小值,为所求。
时间复杂度为O(v3
参考代码:
#include <stdio.h>
#include <stdlib.h>
#define Infinity 1000000000
#define N 101
int G
;
int Des
;
int D
,final
;
main()
{
int
i,j,k,adj,min,max,tmp;
int n, num;
scanf("%d",&n);
while(n!=0)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
G[i][j] = Infinity;
//G[][]
for(i=1; i<=n; i++)
{
scanf("%d",&num);
for(j=1;j<=num;j++)
{
scanf("%d",&adj);
scanf("%d",&G[i][adj]);
}
}
for(k=1; k<=n; k++) //做n次迪杰斯特拉,得到Des[k]:
max(D[],排除自己)
{
//initial
for(i=1;i<=n;i++)
{
D[i] = Infinity;
final[i] = 0;
}
final[k] = 1;
for(i=1;i<=n;i++)
D[i] = G[k][i];
相关文章推荐
- poj 1797_迪杰斯特拉
- poj 1664 放苹果
- poj 2778 DNA Sequence
- poj 1741 Tree
- poj 2778 DNA Sequence
- POJ&nbsp;2406&nbsp;Power&nbsp;St…
- poj 1741 Tree
- poj&nbsp;2387&nbsp;Til&nbsp;the&nbsp;Cows&nbsp;Come&nbsp;Home(…
- poj&nbsp;1837&nbsp;Balance&nbsp;(01背包)(转)
- poj&nbsp;2481&nbsp;Cows(树状数组)
- poj&nbsp;3255&nbsp;Roadblocks&nbsp;(A*)
- poj&nbsp;2488&nbsp;A&nbsp;Knight…
- POJ&nbsp;3006
- POJ&nbsp;1799
- POJ&nbsp;2136
- poj 2186 tarjan算法
- poj 1703 并查集的拓展
- poj 3249 DAG上的最短路问题
- POJ 1046 Color Me Less(水题)
- poj 2104_变种快排