![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
最短路
ZYzyZzzz
东阳中学在读学生。
展开
-
【最短路】昂贵的聘礼
原题链接 难点在于构图。 先建一个虚点,连上所有的物品,代价为直接买物品的价值。再连上可用某物品换取优惠的点,价值为优惠价(由需要的物品指向要买的物品),再枚举等级区间,算出所有在此等级中的点的最短路,再取最小值。 代码实现: #include<bits/stdc++.h> #define N 100+10 using namespace std; int d[N],l[N],a[N...原创 2020-01-20 13:19:14 · 217 阅读 · 0 评论 -
【最短路】最优乘车
原题链接 连好每个车站可以直接到达的点,设定距离为1,算出此时构成的图的最短路,实际意义为上车数,减1即为换车数。 代码实现: #include<bits/stdc++.h> #define N 500+10 using namespace std; int n,m; int d[N],bus[N],used[N]; int a[N][N]; vector<int>v[N...原创 2020-01-20 09:00:35 · 282 阅读 · 0 评论 -
【最短路】新年好
原题链接 老师讲解是: 1、先预处理出以1、a、b、c、d、e出发到其他所有点的单源最短路径。 2、DFS所有拜访顺序,(5!),对于每一种摆拜访顺序,可以通过查表的方式,算出最短距离。 我: 极其讨厌dfs的我直接放弃选择枚举。 代码实现: #include<bits/stdc++.h> #define N 50000+10 using namespace std; int n,m...原创 2020-01-19 14:59:41 · 266 阅读 · 0 评论 -
【最短路】最小花费
原题链接 可以从后往前做。假设已经收到了100元,可以求出最少需要几元可以获得100元,算出一条最短路,推出最开始需要的钱。 数据小,用朴素版的Dijkstra可以过。 代码实现: #include<bits/stdc++.h> #define N 2000+10 using namespace std; int a[N][N]; int v[N]; int st,ed,n,m; d...原创 2020-01-19 11:27:52 · 291 阅读 · 0 评论 -
【最短路】香甜的黄油
原题链接 枚举所有的牧场,每次算出所有点到此牧场的最短路,再累加所有奶牛喜欢的牧场的最短路,比较得出最小值。数据规模对spfa比较友善。 #include<bits/stdc++.h> #define N 500+10 #define M 800+10 using namespace std; int ans=1e9; int c,n,m; int cow[N],d[M],used[...原创 2020-01-19 09:46:43 · 276 阅读 · 0 评论 -
【最短路】信使
原题链接 数据非常小,可以用Floyd。 用Floyd求出节点1到所有节点的最短路,答案即为这些最短路中最长的一条。 代码实现: #include<bits/stdc++.h> #define N 100+10 using namespace std; int d[N][N]; int n,m; int main(){ cin>>n>>m; ...原创 2020-01-19 09:03:58 · 252 阅读 · 0 评论 -
【最短路】热浪
原题链接 数据规模十分良心,相当于是一个最短路算法裸题,打一遍模板即可。 代码实现:(此为spfa) #include<bits/stdc++.h> #define N 2500+10 using namespace std; int n,m,st,ed; int d[N],used[N]; vector<int>v[N]; vector<int>val[N]...原创 2020-01-19 08:50:30 · 261 阅读 · 0 评论 -
最短路问题的模板复习
大部分摘自《算法竞赛进阶指南》 单源最短路问题 Dijkstra(边权为非负) 朴素版 原题链接 算法流程: 1、初始化dist[1]=0,其余节点的dist值为正无穷大。 2、找出一个未被标记的dist[x]最小的节点x,然后标记节点x。 3、扫描节点x的所有出边(x,y,z),若dist[y]>dist[x]+z,则使用dist[x]+z更新dist[y]。 4、重复上述的两个步骤,...原创 2020-01-18 08:55:41 · 204 阅读 · 0 评论