![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【最短路径】
wodasini
这个作者很懒,什么都没留下…
展开
-
【ECNU OJ】tag = shortest paths (上)
Problem #3323 罗塞塔石碑EOJ 3323 大意:字母可以相互表示,有向图连接,询问一串字符是否能够被领一串字符表示解法:裸floyd Problem #3200 SixDegree of Cowvin BaconEOJ 3200大意:牛之间有距离。求一头牛到其他牛距离和最小的平均值,并将其乘以100后输出。解法:裸floyd Problem #3196 WormholesEOJ 31...原创 2018-03-23 12:52:14 · 140 阅读 · 0 评论 -
【ECNU OJ 3373】 骑士游戏 最短路径+动态规划
Problem 3373 骑士游戏 长期的宅男生活中,JYY 又挖掘出了一款 RPG 游戏。在这个游戏中 JYY 会扮演一个英勇的骑士,用他手中的长剑去杀死入侵村庄的怪兽。在这个游戏中,JYY 一共有两种攻击方式,一种是普通攻击,一种是法术攻击。两种攻击方式都会消耗 JYY 一些体力。采用普通攻击进攻怪兽并不能把怪兽彻底杀死,怪兽的尸体可以变出其他一些新的怪兽,注意一个怪兽可能经过若干次普通攻击后...原创 2018-03-24 12:06:43 · 532 阅读 · 1 评论 -
【ECNU OJ 1888】陆行鸟挖宝 最短路径
Problem #1888你坐在陆行鸟上进行一个挖宝任务,陆行鸟有三种移动方式,假定移动前的坐标为 X,则:1. 移动到 2X 的地方。2. 移动到 X−1 的地方。3. 移动到 X+1 的地方。为了尽快挖到宝物而不至于被别人先挖到,你需要选择最快的方式挖到宝物。 题解:1.这道题的tag是最短路径.....其实可以理解,每一个数字连3条边。比如10->11,10->9,10->...原创 2018-03-24 14:57:11 · 291 阅读 · 0 评论 -
【图的再构造】 uva 10917
题目大意:一张无向图上面有Jimmy的家和Jimmy的公司。Jimmy必须要走满足一下条件的路:如果Jimmy要从A走到B,必须存在一条以B为起点的路径,比从任何一条以A为起点的路径短。 思路:所谓的“必须存在一条以B为起点的路径,比从任何一条以A为起点的路径短。” 也就是说,从A开始的最短路径比从B开始的最短路径短。 因此跑完一边最短路径后,我们对所有d[x] > d[y]的点...原创 2018-09-29 18:33:39 · 161 阅读 · 0 评论 -
【二分+bellmanford判负环】 uva 11090 Going in Cycle!!!
题目大意:给出一张有向图,求出平均值最小的环 思路一:第一种算法就是dfs找环,每找到一个环,求出其平均值。然而别看n<50,想造出这样的数据也是分分钟的事情。 思路二:bellmanford算法就是为带权的图而生的。bellmanford的更新条件比较苛刻,不像dfs那么随意地找。 对于平均值最小,xx值最x,我们通常使用二分的方法,假设这个最...原创 2018-09-29 18:45:18 · 111 阅读 · 0 评论 -
【缩点+tarjan(scc)】 uva 11324
题目大意:在一张有向图中,我们把有这样性质的点的集合S称之为Clique(派系?)对于任意在S中的两个点x,y 存在x->y的路径或(包含)存在y->x的路径 思路:首先要明白,如果存在强连通分量,那么在这个强连通分量里的所有点他们都是一样的,有你的肉就少不了我一杯羹。因此我们事实上可以把一个强连通分量缩成一个点,点权为scc的大小。然后我们又重新的到了一张无环...原创 2018-09-29 18:57:30 · 114 阅读 · 0 评论 -
【dijkstra变形】 uva 11367 Full tank?
题目大意: 在一张无向图中,你的车要从起点走到终点。你走多少距离要耗费多少油。每个地方加油的钱不一样,你可以不加,加一个单位,加满。。。。油量箱是有上限的。 一开始你的车油容量为空。 求到终点最便宜花多少钱。节点:n <= 1000 油容量 c <= 100询问次数 q <= 100 思路一:第一眼见到的是拆点,把三元组(u,cost,oil)分别连边,可惜...原创 2018-09-29 19:05:13 · 126 阅读 · 0 评论 -
【最短路径树优化】 uva 1416 Warface And Logistics
题目大意:给出一张无向图,求删除一条边后,对于所有的点对(i,j)使得 c = Sum(d[i][j)]最大的值。 分析:如果仅仅是枚举删除某一条边,是非常差的做法,我们要得到以下几点信息:首先我们要明确,如果删除这么一条边——不在任何一条最短路径a->b上的边,那么显然c的值不会受到任何的改变。因此我们需要尝试枚举删除的边,都应该在某条最短路上。 在求初始c的时...原创 2018-09-29 20:09:27 · 199 阅读 · 0 评论