最短路径
算法
风萧萧兮易水寒丶
985软件工程本科在读
展开
-
旅旅旅游(最短路、查并集)
解题思路: 代码: #include <bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e6+10; ll dis1[maxn],dis2[maxn],inf=0x3f3f3f3f3f3f3f3f; bool vis[maxn]; struct Edge { int u,to...原创 2020-04-21 19:17:10 · 141 阅读 · 0 评论 -
最短路变短了(最短路径)
解题思路: #include<bits/stdc++.h> using namespace std; #define ll long long const int maxn=1e6,inf=INT_MAX; int head[maxn],cnt,n,m,s,t; bool vis[maxn]; ll dis1[maxn],dis2[maxn]; struct Edge { ...原创 2020-04-11 11:02:26 · 164 阅读 · 0 评论 -
仓库选址(前缀和、数学)
解题思路: 二维前缀和(O(NM)) 这个算法可能比较简单易懂,二维前缀和的实现与计算就不再赘述了,可以上网查一下 在暴力方法一中每次枚举一个坐标都要把到所有点的距离重新算一遍,其实没必要。 若仓库在点 (x,y) 处,现在将仓库移动到点 (x+1,y) ,那么对于左上角为(1,1),右下角为(x,m)的矩阵,所有点到达仓库的距离都+1,对于左上角为(x+1,1),右下角为(n,m)的矩阵,所有...原创 2020-03-25 16:30:55 · 537 阅读 · 0 评论 -
洛谷—P1119 灾后重建(floyd)
正确代码: #include<bits/stdc++.h> using namespace std; int arr[220][220],t[220],m,n,k,pos; int main() { memset(arr,1,sizeof(arr)); for(int i=0;i<n;++i) arr[i][i]=0; cin>>n>>m; f...原创 2020-03-20 21:38:46 · 185 阅读 · 1 评论 -
(模板)最短路径
SPFA: 适用于存在负边权的情况 #include<bits/stdc++.h> using namespace std; const int maxn=1e6,inf=INT_MAX; int head[maxn],dis[maxn],cnt,n,m,s; bool vis[maxn]; struct Edge { int next,to,w; }edge[maxn]; void...原创 2020-03-20 17:57:22 · 115 阅读 · 0 评论