sugarbliss

Those who cannot remember the past are condemned to repeat it.

最短路问题--最通俗易懂的讲解

最短路径的定义: 所谓最短路径是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。 可以将适用最短路的算法分为单源最短路,和多源最短路如下图: 多源最短路算法Floyd: Floyd-War...

2019-01-16 19:13:30

阅读数 557

评论数 0

链式前向星--最通俗易懂的讲解

如果说邻接表是不好写但效率好,邻接矩阵是好写但效率低的话,前向星就是一个相对中庸的数据结构。前向星固然好写,但效率并不高。而在优化为链式前向星后,效率也得到了较大的提升。虽然说,世界上对链式前向星的使用并不是很广泛,但在不愿意写复杂的邻接表的情况下,链式前向星也是一个很优秀的数据结构。     ...

2019-01-15 17:55:11

阅读数 656

评论数 6

牛客寒假算法基础集训营5-I-炫酷镜子(dfs)

题目链接:https://ac.nowcoder.com/acm/contest/331/I 思路:直接模拟搜索即可。 #include<bits/stdc++.h> using namespace std; char mp[501][501]; ...

2019-01-31 23:31:22

阅读数 37

评论数 0

牛客寒假算法基础集训营1 - C - 小a与星际探索(bfs || 暴力)

题目链接:https://ac.nowcoder.com/acm/contest/317/C 思路1:直接bfs。 #include<bits/stdc++.h> using namespace std; const int N = 3e3+100...

2019-01-23 17:35:11

阅读数 215

评论数 3

两球相交(模板)

#include<cstdio> #include<algorithm> #include<cstring> #include<iostrea...

2019-01-22 13:22:27

阅读数 279

评论数 0

CCPC-Wannafly Winter Camp Day1 (Div2, onsite) - J - 夺宝奇兵(贪心+思维)

思路:可以枚举一维k(k代表其他人宝物数量的最大上限)表示先将宝物数量大于k的人手中宝物全部买下,这时所有人的宝物数量都小于k,只需要将自己手中宝物数量通过购买最便宜的宝物补足k,用multiset模拟这个操作即可。 #include <bits/stdc++.h&...

2019-01-22 13:18:40

阅读数 258

评论数 0

CCPC-Wannafly Winter Camp Day2 (Div2, onsite) - H - Cosmic Cleaner(计算几何)

题目链接:https://www.zhixincode.com/problem/day2-11 思路:分别考虑在清除球体内部,外部,相交三种情况即可。 #include<cstdio> #include<algorithm&a...

2019-01-22 13:13:17

阅读数 289

评论数 4

CCPC-Wannafly Winter Camp Day2 (Div2) - A - Erase Numbers II(暴力)

题目链接:https://www.zhixincode.com/problem/day2-2 思路:暴力枚举两个数字,拼接一块后比较,注意题目是按下标顺序删除(n - 2)个数字,暴力最大的那项会爆long long但不会爆unsigned long long。 #include &...

2019-01-22 13:03:43

阅读数 159

评论数 0

CCPC-Wannafly Winter Camp Day1 (Div2, onsite)-F-爬爬爬山(dijkstra)

题目链接:https://www.zhixincode.com/contest/7/problem/F?problem_id=97 人话题意:n座山,每座山都有一个高度,海拔上升一米体力增加1点,下降一米减少1点。山与山之间有一个距离x,你可以降低山的高度l,代价为l*l,刚开始在1号山,要去n...

2019-01-21 10:09:17

阅读数 159

评论数 0

P2939 [USACO09FEB]改造路Revamping Trails(分层图最短路)

题目链接:https://www.luogu.org/problemnew/show/P2939 思路:和飞行路线那一题基本一样,分层图模板题。 #include <bits/stdc++.h> using namespace std; const...

2019-01-20 18:03:12

阅读数 20

评论数 0

P3831 [SHOI2012]回家的路(分层图思想)

题目链接:https://www.luogu.org/problemnew/show/P3831 人话题意:一个网格图,横竖走一条边用时2,只能在特定点转向,横竖转向用时1,问两点最短用时。 思路:地铁线只有横向和竖向,所以分两层就行了,第一层都是横向可以直接到达的车站,权值为两点曼哈顿距离乘...

2019-01-20 17:35:13

阅读数 39

评论数 0

HDU - 3499 - Flight (分层图最短路 + map)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3499 题意:n个城市m条单向边!!!然后给你这M条单向边。最后输入起点终点,你有一次机会可以使某条边的花费减半,问起点到的最短路为多少?如果没有路可以到达输出“-1”。 思路:用map映射相应的地...

2019-01-19 17:58:00

阅读数 53

评论数 0

分层图最短路(模板)

建图时分层(vector) : #include <bits/stdc++.h> using namespace std; const int maxn = 2e6+7; #define ll long long #define inf 0x3f3f...

2019-01-19 13:35:59

阅读数 243

评论数 0

P4568 [JLOI2011]飞行路线(分层图最短路)

题目链接:https://www.luogu.org/problemnew/show/P4568 思路:分层图模板题。分层图讲解,点我。 第一种方法: #include <iostream> #include <string...

2019-01-19 13:07:43

阅读数 152

评论数 0

分层图最短路讲解

分层图最短路是指在可以进行分层图的图上解决最短路问题。分层图:可以理解为有多个平行的图。 一般模型是:在一个正常的图上可以进行k次决策,对于每次决策,不影响图的结构,只影响目前的状态或代价。一般将决策前的状态和决策后的状态之间连接一条权值为决策代价的边,表示付出该代价后就可以转换状态了。 一...

2019-01-19 13:04:30

阅读数 544

评论数 2

dijkstra + 链式前向星

#include <iostream> #include <string.h> #include <stdio.h> #include <algorithm> #include &...

2019-01-18 10:43:56

阅读数 70

评论数 0

Dijkstra+优先队列+链式前向星(模板)

#include <iostream> #include <string.h> #include <stdio.h> #include <algorithm> #include &...

2019-01-16 15:27:41

阅读数 156

评论数 0

Spfa + 链式前向星(模板)

#include <iostream> #include <string.h> #include <stdio.h> #include <al...

2019-01-16 15:19:01

阅读数 147

评论数 0

SPFA和BFS的区别

SPFA在形式上和BFS非常类似,不同的是BFS中一个点出了队列就不可能重新进入队列,但是SPFA中一个点可能在出队列之后再次被放入队列,也就是一个点松弛过其它的点之后,过了一段时间可能本身被松弛,于是要再次用来松弛其它的点,这样反复迭代下去。 ...

2019-01-16 11:27:44

阅读数 156

评论数 0

为什么dijkstra算法处理不了带有负权值的边的图

dijkstra是基于贪心策略,每次都找一个距源点最近的点,然后将该距离定为这个点到源点的最短路径;但如果存在负权边,那就有可能先通过并不是距源点最近的一个次优点,再通过这个负权边,使得路径之和更小,这样就出现了错误。 对于下图将A添加到集合中标记已访问,之后选出从A到所有节点中的最短的点,于是...

2019-01-15 20:17:45

阅读数 643

评论数 0

提示
确定要删除当前文章?
取消 删除