最短路
_Yuh_
...
展开
-
天梯地图 (30 分)
天梯地图跑两次Dijkstra,最后输出有点啰嗦,太懒了,不想改了#include <bits/stdc++.h>using namespace std;const int N = 500+10;typedef pair<int,int> PII;int n,m,k,st,ed;int u,v,len,op,ti;int g[N][N],cost[N][N],path[N];int dist[N],vis[N],dis[N];int cnt[N],sum[N原创 2021-10-15 21:20:37 · 228 阅读 · 0 评论 -
L2-001 紧急救援 (25 分)
输入:4 5 0 320 30 40 100 1 11 3 20 3 30 2 22 3 2输出:2 600 1 3优先队列:#include <bits/stdc++.h>#define inf 0x3f3f3f3fusing namespace std;int dist[505],path[505],num[505],pathNum[505],cnt[505];int n,m,s,d,g[505][505],vis[505];struct node..原创 2021-04-15 17:26:59 · 80 阅读 · 0 评论 -
B - Flowery Trails
题意:求出所有最短路径上每条边的距离之和思路:从0到n-1跑一遍Dijkstra,再从n-1到0跑一遍,然后在用两层for循环找出d1[u]+d2[v]等于最短路径的边(从起点到某个节点的最短距离加上从终点到该节点的最短距离等于最短路径),用sum加上这两点间的的距离,最后输出sum。这道题真是让我长见识了,以前从来没做过这种类型的,真妙!#include <iostream>#include <cstdio>#include <cstdlib>#...原创 2021-03-22 14:35:55 · 148 阅读 · 0 评论 -
Coloring Contention
题目链接题意理解的不是很清楚,反正就是Alice想要Bob选择的路径里颜色转换次数最大,那么Alice就要使路径的颜色交替变换,但Bob想要产生的颜色转换最小,就求从1到n的最短路。(我理解的可能也不是很准确,但就是用最短路来求????)好像用普通的Dijkstra会超时,得用dijkstra+堆优化#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#in原创 2021-01-25 16:09:47 · 95 阅读 · 0 评论 -
Big Truck(Dijkstra)
题目链接带权最短路,Dijkstra模板题一开始傻傻的用Floyd求,怎么也算不对,后来又用DFS,最后一个样例超时…最后用Dijkstra求的…后来上网查的资料才知道Dijkstra是经典的求取带权最短路算法.#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <algorithm>#include <string&g原创 2021-01-03 13:21:28 · 283 阅读 · 1 评论 -
旅游计划
题目链接Floyd#include <iostream>#include <cmath>#include <cstdio>#include <cstdlib>#include <string>#include <cstring>#include <vector>#include <queue>#include <map>#include <set>#include原创 2020-09-16 23:20:55 · 158 阅读 · 0 评论 -
Cryptography
题目链接应该算是最短路的模板题吧,可以用Floyd算法写,但是做的时候出了点小问题,之前一直没有仔细考虑这一点, 之前一直以为 (int)‘a’ == ‘a’-‘0’,昨天在网上一查才知道 '0’ASCII码是49,‘a’-‘0’ = 49,而(int)‘a’ = 98 ,他俩是不想等的.所以在求每个字符到另一个字符的值时一直出错…#include <bits/stdc++.h>#define ll long longusing namespace std;const int INF原创 2020-06-06 09:09:29 · 162 阅读 · 0 评论