![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
文章平均质量分 52
spfa算法
为什么他们cf写的这么快
这个作者很懒,什么都没留下…
展开
-
【 牛客】D 炫酷路途(贪心+最短路)
链接:https://ac.nowcoder.com/acm/contest/331/D来源:牛客网题目描述小希现在要从寝室赶到机房,路途可以按距离分为N段,第i个和i+1个是直接相连的,只需要一秒钟就可以相互到达。炫酷的是,从第i个到第i+2^pi+2p个也是直接相连的(其中p为任意非负整数),只需要一秒钟就可以相互到达。更炫酷的是,有K个传送法阵使得某些u,v之间也是直接相连的,只需要一秒钟就可以相互到达,当然,由于设备故障,可能会有一些u=v的情况发生。现在小希为了赶路,她需要在最短的原创 2021-03-13 10:34:24 · 113 阅读 · 0 评论 -
【牛客】B 处女座的比赛资格(拓扑排序求最短路)
链接:https://ac.nowcoder.com/acm/contest/329/B来源:牛客网处女座想出去比赛,但是又不知道学校能不能给到足够的经费。然而处女座是大众粉丝,有着很好的人缘,于是他找了一个在学校管经费的地方勤工俭学偷来了一份报销标准。由于处女座是万人迷,所以他在中间途径的每一条线路上都会发生一些故事,也许是粉丝给他发了一个200元的微信红包,也许是和他的迷妹一起吃饭花了500元。而经费负责人也实地考察了每一条路线,在每一条路上,也许是天降红包雨,也许是地生劫匪。每一条路上都有属于原创 2021-03-09 21:02:59 · 113 阅读 · 0 评论 -
JZOJ3852 单词接龙(spfa判负环+二分)
题目链接大家都玩过接龙,给你两个单词,如果末两个字母和头两个字母是一样的,就可以接龙,而接龙还可以接成一个环,例如internationalallin这样这两个单词就构成一个环。当然,一个单词构成自环也是可以的。注意末尾"al"和开头"la"不能接龙,必须次序相同现在给你n个单词,想找出这样的环,环上的单词的平均长度要最大,找出这个最大值。如上面这个环,它的平均长度是 (13+5)/2=...原创 2020-05-01 21:56:58 · 177 阅读 · 0 评论 -
Codeforces Round #636 (Div. 3) E. Weights Distributing(最短路+贪心)
题目链接题意:给定一棵树,和一个权值数组,要求你选择一种方案把权值数组赋值到树的每条边上去,最后使得a->b->c的路径和最小,只需输出最小值即可。思路:要想a->b,b->c最短的话我们很显然要他们能重合的部分尽量多,如此一下就可以尽量取前面小一点的前缀和了。#include<bits/stdc++.h> using namespace std;...原创 2020-04-25 20:41:15 · 129 阅读 · 0 评论 -
hdu3986 Harry Potter and the Final Battle(spfa)
题目链接Problem DescriptionThe final battle is coming. Now Harry Potter is located at city 1, and Voldemort is located at city n. To make the world peace as soon as possible, Of course, Harry Potter wil...原创 2020-04-19 21:26:04 · 107 阅读 · 0 评论 -
牛客小白月赛24 E 旅旅旅游(最短路)
题目链接思路:一开始还想着用tarjan求桥去了。。。其实做法就是判断一下u->v这条边是不是最短路上的边就行了,怎么判断呢从1为起点和以n为起点跑两遍spfa,看看d1【u】+d2【v】+wd1【v】,由于是无向边别忘了反向判断也就是d2【u】+d1【v】+wd2【1】,这样就能判断这条边是不是最短路上的边了,至于怎么判断去掉这条边能不能走遍所有点呢?我用的是再跑一遍spfa,只要没有...原创 2020-04-19 10:26:43 · 136 阅读 · 0 评论 -
牛客练习赛61 D 最短路变短了(spfa+思维)
题目链接链接:https://ac.nowcoder.com/acm/contest/5026/D来源:牛客网题目描述给定一个有向带权图,其中包括 n个城市,城市编号从1 到n,有向边的编号从 1 到 m,现在有一个人位于城市 1,并且想要到城市n旅游。现在政府正在决定将一条道路反向,这个人想知道在某一指定道路反向的情况到达城市n最短路径长度会不会变短。 保证开始给定的图从城市1可...原创 2020-04-11 19:56:14 · 330 阅读 · 0 评论 -
Codeforces Round #257 (Div. 1) B. Jzzhu and Cities(多条最短路)
题目链接思路:又是一个阅读理解图。。。那么k条火车站居然是建在图里。。。spfa一遍同时记录一下到各个点的最短路径有几条,有多条的时候也要删去火车站。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=3e5+1;int n,m,k,u,v,w,x[maxn],y...原创 2020-03-26 20:06:57 · 107 阅读 · 0 评论 -
Codeforces Round #287 (Div. 2) E. Breaking Good(最短路spfa)
题目链接题意:现在有n点m条路,要求你从1走到n,但是每条道路都有一个属性,1表示这条路可以走,0表示这条路在施工不能走,要你选择一条从1走到n的最短路,如果最短路上有道路的属性是0的话就要修好这条路,同时要破坏掉不是最短路径上的路,问你最少的操作数是多少(操作数是指要破坏的道路数和要修的道路数)。同时还要输出你的操作(就是要把你破坏的道路和修好的道路输出)。思路:这个真是个阅读理解题,...原创 2020-03-26 20:03:31 · 179 阅读 · 0 评论 -
Codeforces Round #142 (Div. 2) D. Planets(spfa+思维)
题目链接题意:又是一个阅读理解题。。。以下题意抄自大佬的。n个点 m 条边 现在你找到从1到n的最短路,但是这里有一个限制就是如果你在时间t到达节点u 如果有其他人也在这个时间到节点u 那么你就要等这个人走了之后才能离开u。思路:再每个出队节点的时候暴力枚举是否有人同时到达(出队节点的时候一定会有它d最短的时候),如果有则更新dis,再进行松弛操作,cf机子跑的是真快,直接枚举居然没超时...原创 2020-03-24 21:11:24 · 130 阅读 · 0 评论 -
Codeforces Round #303 (Div. 2) E. Paths and Trees(贪心+最短路)
题目链接思路:在保证是最短路的同时如果有多条最短路就选边权小的那个。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn =3e5+1;const ll inf=1e18;struct node{ int u,w,id;};vector<node&g...原创 2020-03-24 21:05:34 · 102 阅读 · 0 评论 -
Educational Codeforces Round 54 (Rated for Div. 2) D. Edge Deletion(最短路+bfs)(好题)
题目链接题意:给定n点m条边的有向图,现在要求你必须删边,使得删边之和一个点的最短路不变,这样的点要尽可能地多,同时最多保留k条边,问你删边方案。思路:很明显,我们先求最短路,然后遍历每条边,对于不是最短路地边直接删,可是这个时候如果边地个数依然大于k怎么办?根据贪心思想,我们尽可以删一个点有多条相同最短路地边,如果每一个都只有唯一一条最短路地话,显然我们删谁都无所谓,可是本人在这个地方有...原创 2020-03-16 21:35:20 · 93 阅读 · 0 评论 -
Codeforces Round #580 (Div. 1) B. Shortest Cycle(Floyd判最小环)
题目链接题意:给定初始序列a,如果a【i】&a【j】不为0,那么i和j可以建边,问建边之后的最小环多大?思路:如果一条边一条边去构造的话肯定tle,其实可以发现如果二进制的某一个1的个数大于2的话,最小环就是3(可以自循环),我们可以存一下不为0的个数,如果不为0的个数超过130个直接输出3,否则用floyd判最小环。#include<bits/stdc++.h>us...原创 2020-02-26 21:02:02 · 96 阅读 · 0 评论 -
Codeforces Round #625 (Div. 2, based on Technocup 2020 Final Round) D. Navigation System(最短路spfa+思维)
题目链接题意:真是个恶心的题目,又臭又长,比赛的时候看的都快吐了。其实就是给定一个有向图,和一个初始路径,你从初始路径一直走,当走到i时发现i到终点的最短路径和给出的初始路径不一样,系统就会重建,求重建的最小和最大次数。思路:这题感觉完全在考你英文水平,知道题意后秒解,由于是有向图,所以需要反向建边,spfa求出n到各个点的最短路,假设当前点为x,对应初始路径是a【i】,显然如果d【x】...原创 2020-03-02 22:18:32 · 108 阅读 · 0 评论 -
Codeforces Round #621 (Div. 1 + Div. 2) D. Cow and Fields (最短路SPFA)
题目链接题意:给定一个n点m边的无向图,现在有k个点,要求你在这k个点里选两个点给他们连边,求连边后,最短路的最大值是多少。思路:由于我们并不知道将两个点连边之后会不会对初始的最短路造成影响,所有我们可以先求两边spfa,分别求以1为起点和以n为起点的各店最短路,我们要是最短路损失的尽量小,肯定是这k个点尽可能相邻,所以求第一遍以1为起点的spfa之后,可以对这k个点进行排序,每次比较相邻...原创 2020-02-19 20:45:33 · 106 阅读 · 0 评论 -
Codeforces Beta Round #25 (Div. 2 Only) C. Roads in Berland(Floyd+暴力枚举)
题目链接思路:Floyd的变种,每次新增一条边的时候暴力枚举对其他点的影响#include<bits/stdc++.h>using namespace std;const int maxn=2e3+10;typedef long long ll;int n,q,a[maxn][maxn];ll ans;void check(int u,int v,int w){...原创 2020-02-09 11:26:23 · 335 阅读 · 0 评论 -
Codeforces Beta Round #33 (Codeforces format) B. String Problem(Floyd)
添加链接描述题意:给定两个初始字符串s和t,再给定n个变换,表示字母1变成字母2需要花费w的花费,问将两个字符串变成一样的最小花费。思路:可以先求出每个字母转化成任意字母的最小花费,用Floyd求出就行。这题很容易想当然,比如字符串是a,字符串是b,一开始很容易想当然把a变成b或者把b变成a(就因为这样wa了好几次)。这样不行的原因看下面的样例样例:ab4a b 100b ...原创 2020-02-09 11:57:13 · 167 阅读 · 0 评论