最短路
不哭的超人
愿你孤独的努力终有回报,愿你前行的路上有人相伴。
展开
-
D. Returning Home(建图+最短路)
D. Returning Home解题思路:这题主要是建图。首先从起点开始到其余的m个点的最短路应该是min(abs(sx-x),abs(sy-y)),因为当到了与第i个点有x或者y相等的时候,是可以一下就跳到。从这m个点到达终点的路径长度应该是abs(x-tx)+abs(y-ty),因为这不可以一下就跳到。而这m个点可以分别以x最近的相连接和以y最近的相连接。假设三个点x,y,z在一条直线上,x到z的最短路,应该是x到y的最短路+y到z的最短路,这是二维坐标,所以不可能更短。建图完成之后,就可以跑dij原创 2020-12-04 17:15:28 · 309 阅读 · 0 评论 -
小雨坐地铁
题目:小雨坐地铁题解:学到一个新知识,分层图最短路,建立m+1层图,有一层的n个点都是虚点,另外的n层进行连接。#include <bits/stdc++.h>#include <cstdlib>using namespace std;typedef long long ll;typedef pair<ll,int>P;const int N = ...原创 2020-04-22 19:06:55 · 240 阅读 · 0 评论 -
旅旅旅游
题目:旅旅旅游题解:分别求出以1为起点的最短距离,和以n为起点的最短距离。然后对每条边进行判断,判断这条边是否为最短路径的边。最后再把剩下的边判断一下就好了。#include <bits/stdc++.h>#include <cstdlib>using namespace std;typedef long long ll;typedef pair<ll,i...原创 2020-10-19 15:30:30 · 161 阅读 · 0 评论 -
Cow Contest(POJ3660)
题目:Cow Contest思路:先用floyd求出有向图每两个点之间是否有关系,然后统计强于这个结点的有x个,再统计弱于这个结点的有y个,假如这个结节排第几能确定的话,肯定有x+y == n-1#include <stdio.h>const int N = 1e+4;int dp[N][N];int n,m;void floyd(){ for(int k = 1;k...原创 2019-08-11 17:05:29 · 163 阅读 · 0 评论 -
Floyd算法
Floyd算法的基本思想如下:从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点X到B。所以,我们假设f(AB)为节点A到节点B的最短路径的距离,对于每一个节点X,我们检查f(AX) + f(XB) < f(AB)是否成立,如果成立,证明从A到X再到B的路径比A直接到B的路径短,我们便设置f(AB) = f(AX) + f(XB),这样一来,当我们遍历...原创 2019-05-15 23:25:55 · 300 阅读 · 0 评论 -
迪杰斯特拉最短路径算法(Dijkstra)
题目就不多说了,可以用这个算法演示一遍,Dijkstra我感觉这个和prim还是有点相似之处的,关键这里多了一个记录上次最短路径的和p,光看代码没用,要知道思想#include <stdio.h>#define MAX_SIZE 55#define INF 0xFFFFFFint G[MAX_SIZE][MAX_SIZE];int vis[MAX_SIZE];int n...原创 2019-05-15 18:59:54 · 434 阅读 · 0 评论 -
MPI Maelstrom(POJ1502)
题目:MPI Maelstrom思路:用Dijkstra模板ps:数组的范围需要注意一下,输入也需要注意一下#include <stdio.h>#include <queue>#include <iostream>using namespace std;typedef pair<int,int>P;const int N = 200;...原创 2019-08-05 13:22:11 · 186 阅读 · 0 评论 -
Silver Cow Party(POJ3268)
Silver Cow Party思考:先用Dijkstra求出x到其他点的最短距,并且保存下来。然后再循环n-1次求出其他点到x的最短距离,接着相加,求最大值。#include <stdio.h>#include <queue>#include <algorithm>using namespace std;typedef pair<int,in...原创 2019-07-31 17:38:51 · 211 阅读 · 0 评论 -
最短路径问题(HDOJ3790)
Problem Description给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。Input输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时输入结束。(1<n&...原创 2019-07-31 09:24:34 · 197 阅读 · 0 评论 -
Til the Cows Come Home(PO)2387
DescriptionBessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wa...原创 2019-07-30 22:33:07 · 176 阅读 · 0 评论 -
畅通工程续(HDOJ1874)
Problem Description某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。Input本题目包含多组数据,请处理到文件结束。每组数据第一行包含两个正整数N和M(0&...原创 2019-07-29 09:13:12 · 220 阅读 · 0 评论 -
最短路(HDOJ2544)
Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路...原创 2019-07-29 20:08:02 · 198 阅读 · 0 评论 -
问题 A: 赛艇表演
时间限制: 3 Sec 内存限制: 256 MB提交: 93 解决: 33[提交] [状态] [命题人:admin]题目描述小明去某个地区观看赛艇比赛,这个地区共有n个城市和m条道路,每个城市都有赛艇比赛,在第i个城市观看赛艇表演的价钱为ai, 去其他城市观看也需要支付赛艇表演的价格。任意两个城市之间通过一条公路连接,并且道路是双向通行的, 观看赛艇比赛时经过的每一条道路都要支付一定的...原创 2019-11-13 13:08:03 · 272 阅读 · 0 评论