当齿轮开始转动———— ####第一日,主要内容为最短路相关算法: 从上至下依次对应算法为: 1、SPFA求最长路及判正环 2、分段弗洛伊德 3、思维(乘法转加法)+朴素迪杰斯特拉 4、暴力+朴素迪杰斯特拉 5、朴素迪杰斯特拉的最短路计数(SPFA也行) 6、BFS+堆优化迪杰斯特拉 7、BFS # ...
分类:
其他好文 时间:
2021-07-01 16:52:37
阅读次数:
0
两种写法,主要是复杂度的证明上比较有趣 1. 并查集+BFS 对于每个点,最多只会进入队列一次,这部分的复杂度是O(n) 每个点最多会在 for (int i = find(1); i <= n; i = find(i + 1))这段话中被访问 \(edge[i].size() + 1\) 次,因为 ...
分类:
其他好文 时间:
2021-06-28 17:55:38
阅读次数:
0
初赛题目是并行BFS,从核上的实现我并没有采用,因为更慢了。。。 注释写的比较详细了,具体实现在graphloadbalance文件里,供各位参考。 github地址: https://github.com/manch1n/cpc2021preliminary ...
分类:
其他好文 时间:
2021-06-24 17:58:59
阅读次数:
0
引言: 为了一个广度优先搜索的细节有必要水一整篇文章?有必要。 这个细节非常重要,以至于我在切Leetcode某一题的时候,明明和答案的高效率通过的代码相差无几,逻辑毫无错误,STL使用相同,但仍然有几个测试点卡不过去。 题目来源:200.岛屿数量 我原来的代码: 1 class Solution ...
分类:
其他好文 时间:
2021-06-08 23:41:52
阅读次数:
0
JAVA 暴力(BFS): public final int[] findBall(int[][] grid) { int len = grid[0].length; int[] balls = new int[len]; for (int i = 0; i < balls.length; i++) ...
分类:
其他好文 时间:
2021-06-02 18:14:01
阅读次数:
0
考虑每个点它能到达的点的集合,可以发现是个 \(V\) 字形的图案,因为每个点第一步只有 \(2\) 种选择。 然后暴力就是用单调栈求出每个点的两条出边后 \(bfs\) 一遍即可。 设 \(C...D\) 段最高的高度为 \(mx\),若 \(B...C-1\) 有比它高的则无解。 \(A...B ...
简介 使用BFS算法 不知道莫名超时了 code class Solution { public: struct point{ int i; int j; point(int i_, int j_){ i = i_; j = j_; } }; void bfs(int i, int j, vecto ...
分类:
其他好文 时间:
2021-05-25 18:29:12
阅读次数:
0
BFS: #1.设置队列 from queue import Queue q = Queue() #2.设置closed表 closed = set()/[] #3.开始循环 while not q.empty(): #取出 a = q.get() #判断 if a not in cloesd : ...
分类:
编程语言 时间:
2021-05-25 18:19:31
阅读次数:
0
leetcode1514. 概率最大的路径 首先考虑了dfs,1000节点超时,添加记忆化,5000节点超出空间。 邻接矩阵->邻接表(HashMap<node,HashMap>)解决空间问题 dfs仍然超时。 尝试bfs + 普通队列,结果存在误差:由于多次相乘,导致最终结果精度存在问题。 bfs ...
分类:
其他好文 时间:
2021-05-24 11:11:39
阅读次数:
0
一. 回溯法 – 深度优先搜素 1. 简单概述 回溯法思路的简单描述是:把问题的解空间转化成了图或者树的结构表示,然后使用深度优先搜索策略进行遍历,遍历的过程中记录和寻找所有可行解或者最优解。 基本思想类同于: 图的深度优先搜索 二叉树的后序遍历 【 分支限界法:广度优先搜索 思想类同于:图的广度优 ...
分类:
其他好文 时间:
2021-05-24 10:30:05
阅读次数:
0