- 博客(4)
- 收藏
- 关注
原创 Floyd 详解及代码实现
定义 :解决给定的加权图中顶点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包特点 : 多源,最短路,无负权时间复杂度:O(n^3)适用于结点个数少于500 及以内的最短路题型。Flyod 算法在图论中比较常见,也很好理解。其核心就是,找出一个点k。以这个点为中心,逐次试探在整个图中,有没有另外两点x ,y,使得 x 到k 之和,与y 到k 之和,小于 xy 之间的距离。画个图吧假设说我们现在以 点1
2021-08-17 22:47:33
567
3
原创 状压 - Bfs 例题解析
title: 状压BFS[分层图思想]date: 2021-06-23 14:03& : 两个都为 1 是为1| :有 1 位 1,两个都没 1 就是 0^:异或,相同为 0,相与为 1<- 我好讨厌这个类型题,每次一碰见异或我人直接傻眼,这个符号好像克我。<<:各二进制全部左移一位,高位丢弃,地位补 0>>:各二进制全部右移一位,对无符号数,高位补 0,有符号数有的在符号位补 0,有的在符号位后补 0复合赋值运算符「&= : 复合赋值运算符.
2021-06-23 18:02:13
157
原创 CF#719 [Div3] A~D题解
A. Do Not Be Distracted题意:给你个字符串s,问你,在此字符串中,是否存在a[j] == a[i] && a[k] != a[i] (j > k > i),如果是输出YES,否输出NO。题解:直接用map数组遍历,当遇到a[i + 1] == a[i] 的情况直接跳过,再在后面遇到map[s[i]] ==1的情况直接输出NO 即可。AC代码如下://// main.cpp// CodeForces//// Created by
2021-05-11 23:58:16
167
原创 Dijskra 算法理解
Dijskra 算法理解关键词:单源最短路径,权值非负,邻接矩阵,复杂度O(n ^ 2 )算法在图论中较为常用,依靠与其他点构建联结依次更新地图上的最小值,最后求出答案。下面展示一些 内联代码片。#include <iostream>#include <algorithm>#include <cmath>#include <vector>#include <stack>#include <map>#include &
2021-05-09 21:19:38
340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人