正在加载图片...
ACM选讲-最短路径 ACM选讲-最短路径φ 解题思路 先回顾 Dijkstra算法 ■1,初始化顶点0到其众n-1个顶点的距高 类似与最短路径问, 2,0入s集合 区别在于路径长度随时间动态改变。 3,for(i=1.n-1) 适当修改 Dijkstra算法 在不属于S的顶点中拉到跑高0最短的顶点,入5集合 修改由于的加入导到0距高减小的距高。记录踏径 图论习题课 图论习题课 修改 Dijkstra算法中涉及到计算距离的地方 本题中的距高:路径距高+等待时间 ACM选讲-最短路径 设a:(c1,r1,tb1,p1)b:(c2r2,t2t2) ACM 1206 关健求等待时间W(ab)= 题目描述 ic=c2)retu0;/款色相同 若千个服务器组成的无向连通图中,每个节点度数不超过 if(tbl!=tp2) Return r1+mintbl, tp2 定义两点间的距高D(j)为它们的最短路径长度。其中 if(tpll-tb2)return r1+tbl+mingtp1+tb2 D(i,i)=0. 定义R()服务器的服务能力1≤R()≤10 if(tpl!=tb2) Return r1+mintpl, tb2> es if(tbl=tp 2)return r1+tp1+mintbl+tp2) 定义B():服务器感兴趣的服务器集合 Retun无穷 其中服务暑感兴趣指的是 任盒k,如果D(Lk)≤D(L〗都有R(k)≤R() 对给定的图G,求Σ|B(i 图论习题课 ACM选讲-最短路径 ACM选讲-最短路径 ■构成的图形 R=2 R=1 ■B(2)={2 R=1 ■B(4)={1,2,34 m1430 3420 图论习题课 图论习题课5 图论习题课 ACM选讲-最短路径 „ 解题思路 „ 类似与最短路径问题, „ 区别在于路径长度随时间动态改变。 „ 适当修改Dijkstra算法。 图论习题课 ACM选讲-最短路径 „ 先回顾Dijkstra 算法: „ 1,初始化顶点0到其余n-1个顶点的距离。 „ 2,0入S集合 „ 3,for(i=1..n-1) „ { 在不属于S的顶点中找到距离0最短的顶点j,j加入S集合。 if(j是目标顶点) return. 修改由于j的加入导致到0距离减小的距离。记录路径。 „ } 图论习题课 ACM选讲 ACM 1158 „ 修改Dijkstra算法中涉及到计算距离的地方。 „ 本题中的距离: 路径距离+等待时间。 „ 设a:(c1,r1,tb1,tp1) b:(c2,r2,tb2,tp2) „ 关键求等待时间W(a,b)= „ { if(c1==c2) return 0; //颜色相同 if(r1 != r2) return min{r1, r2} if(c1=B,c2=P) if(tb1!=tp2) Return r1+min{tb1, tp2} else if(tp1!=tb2) return r1+tb1+ming{tp1+tb2} else if(tp1!=tb2) Return r1+min{tp1, tb2} eles if(tb1!=tp2) return r1+tp1+min{tb1+tp2} Return 无穷 „ } 图论习题课 ACM选讲-最短路径 „ ACM 1206 „ 题目描述 „ 若干个服务器组成的无向连通图中,每个节点度数不超过 10. „ 定义两点间的距离D(i,j)为它们的最短路径长度。其中 D(i,i)=0. „ 定义R(i): 服务器i的服务能力. 1≤R(i) ≤ 10 „ 定义B(i): 服务器i感兴趣的服务器集合。 „ 其中服务器i对j感兴趣指的是: „ 任意k,如果D(i,k) ≤ D(i,j),都有R(k) ≤ R(j). „ 对给定的图G,求∑|B(i)|? 图论习题课 ACM选讲-最短路径 „ 输入数据: „ 4 3 „ 2 „ 3 „ 1 „ 1 „ 1 4 30 „ 2 3 20 „ 3 4 20 „ 构成的图形 1 2 3 4 30 20 20 R=2 R=1 R=3 R=1 图论习题课 ACM选讲-最短路径 „ B(1)={1,2} „ B(2)={2} „ B(3)={1,2} „ B(4)={1,2,3,4} „ 故:∑|B(i)|=9 „ 构成的图形 1 2 3 4 30 20 20 R=2 R=1 R=3 R=1
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有