![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
~无相~
这个作者很懒,什么都没留下…
展开
-
AcWing 345. 牛站
题目给定一张由T条边构成的无向图,点的编号为1~1000之间的整数。求从起点S到终点E恰好经过N条边(可以重复经过)的最短路。注意: 数据保证一定有解。输入格式第1行:包含四个整数N,T,S,E。第2…T+1行:每行包含三个整数,描述一条边的边长以及构成边的两个点的编号。输出格式输出一个整数,表示最短路的长度。数据范围2≤T≤100,2≤N≤106输入样例:2 6 6 411 4 64 4 88 4 96 6 82 6 93 8 9输出样例:10思路题目要求出原创 2020-09-21 14:14:11 · 141 阅读 · 0 评论 -
AcWing 383. 观光(次短路)
思路题目就是求下最短路和次短路,判断一下次短路是否是哦代码#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <queue>using namespace std;const int N = 1010, M = 20010;struct Ver{ int id, type, dist; b原创 2020-09-19 13:53:45 · 104 阅读 · 0 评论 -
Acwing1134. 最短路计数
思路要求一个图的最短路径数,首先如果我们用dp的思想cnt[i]表示这个点的最短路径数,一旦这个点被x更新了,那么cnt[i]=cnt[t],如果两个路径距离相等就cnt[i]+=cnt[t],但是这样做要有个前提,必须顺序是拓扑的,因为cnt更新时候要保证dist[t]就是t这个点的最短路径,这题保证了没有权为0的环,所以这里最短路径树就是一个拓扑图,就可以直接用bfs或者dijkstra来做,因为bfs和dijkstra的更新顺序就是拓扑的,但是spfa不行,因为spfa更新的时候不能保证那个值就是原创 2020-09-19 12:14:40 · 164 阅读 · 0 评论 -
拯救大兵瑞恩
思路题目很好,明确的体会到了dp和最短路之间的关系,一般先给出dp的状态和转移,之后建图,在最短路算法中去跟新时候再用到了dp的转移方程,这题也是一样,不过最短路由于这里dp的点之间权值只有0/1,所以可以用双端队列的方式处理,复杂度为O(n),总结:一般dp就是特殊的最短路,只不过是在拓扑图上进行的最短路,算多种条件的最短路的时候先采用dp的思想,求出状态表示和转移方程,之后建图,把每一个dp的状态作为一个点进行建图,但不必所有点之间都要有实际的边,只要能判断是否能由一个状态转移到另一个状态即可,图原创 2020-09-19 11:00:24 · 133 阅读 · 0 评论 -
AcWing 341. 最优贸易
题目C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到C国旅游。当他得知“同一种商品在不同城市的价格可能会不同”这一信息之后,便决定在旅游的同时,利用商品在不同城市原创 2020-09-16 15:43:20 · 170 阅读 · 0 评论 -
AcWing 342. 道路与航线
题目农夫约翰正在一个新的销售区域对他的牛奶销售方案进行调查。他想把牛奶送到T个城镇,编号为1~T。这些城镇之间通过R条道路 (编号为1到R) 和P条航线 (编号为1到P) 连接。每条道路 i 或者航线 i 连接城镇Ai到Bi,花费为Ci。对于道路,0≤Ci≤10,000;然而航线的花费很神奇,花费Ci可能是负数(−10,000≤Ci≤10,000)。道路是双向的,可以从Ai到Bi,也可以从Bi到Ai,花费都是Ci。然而航线与之不同,只可以从Ai到Bi。事实上,由于最近恐怖主义太嚣张,为了社会原创 2020-09-15 19:00:27 · 179 阅读 · 0 评论 -
AcWing 1137. 选择最佳线路
题目有一天,琪琪想乘坐公交车去拜访她的一位朋友。由于琪琪非常容易晕车,所以她想尽快到达朋友家。现在给定你一张城市交通路线图,上面包含城市的公交站台以及公交线路的具体分布。已知城市中共包含 n 个车站(编号1~n)以及 m 条公交线路。每条公交线路都是 单向的,从一个车站出发直接到达另一个车站,两个车站之间可能存在多条公交线路。琪琪的朋友住在 s 号车站附近。琪琪可以在任何车站选择换乘其它公共汽车。请找出琪琪到达她的朋友家(附近的公交车站)需要花费的最少时间。输入格式输入包含多组测试数据。原创 2020-09-15 13:25:32 · 668 阅读 · 1 评论 -
AcWing 340. 通信线路
题目在郊区有 N 座通信基站,P 条 双向 电缆,第 i 条电缆连接基站Ai和Bi。特别地,1 号基站是通信公司的总站,N 号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第 i 条电缆需要花费Li。电话公司正在举行优惠活动。农产主可以指定一条从 1 号基站到 N 号基站的路径,并指定路径上不超过 K 条电缆,由电话公司免费提供升级服务。农场主只需要支付在该路径上剩余的电缆中,升级价格最贵的那条电缆的花费即可。求至少用多少钱可以完成升级。输入格式第1行:三个整数N,P,K原创 2020-09-15 08:37:39 · 205 阅读 · 0 评论 -
Acwing903. 昂贵的聘礼
题目年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:”嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。”探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格。探险家于是又跑到其他地方,其他人也提出了类似的要求,或者直接用金币换,或者找到原创 2020-09-14 15:25:34 · 110 阅读 · 1 评论