上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页
摘要: 解决问题: 双端队列主要解决图中边的权值只有 0 或者 1 的最短路问题 操作: 每次从队头取出元素,并进行拓展其他元素时 若拓展某一元素的边权是 0,则将该元素插入到队头若拓展某一元素的边权是 1,则将该元素插入到队尾与堆优化Dijkstra 一样,必须在出... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 什么是最小步数模型: 我们知一般的DFS求最短路通常是从棋盘中的一个点a到一个点b 但这里的最小步数是把一个棋盘看做一个状态,求从状态a到状态b的最小步数 总的来说最小步数模型是求状态之间转换的最短距离。 最短路就是求点与点之间转换的最短距离。 1107... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 173. 矩阵距离 - AcWing题库 题目大意:让我们求所有点0到所有1中的最短距离 总结一下: 先上结论:在使用BFS求最短路的时候,一个点第一次加入队列时候的距离,就是它的最短距离。 这里可以用反证法,设第二次加入队列的距离一... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 贪心 + 递归 D-和谐之树_"华为杯" 武汉大学21级新生程序设计竞赛 (nowcoder.com) 这题我在做的时候根本没有理解清楚题意,也可能是受到样例解释的影响? 就比如n=10的时候,我就认为最大的节点编号是21,因为[1,10]一共可... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 4313. 满二叉树等长路径 - AcWing题库 对于此类树的题目, 递归是一种很常用的方法。 我们从一般性的角度出发,并特殊化题目。 由于题目是个满二叉树,我们可以将整个二叉树看做一个只有三个节点的满二叉树(特殊化处理),即:根节点root,... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 介绍: 可以形象的理解为洪水覆盖算法,每当我们dfs一个点,这个点就像洪水一样,把所有与它相邻的并且可以被合法的点覆盖掉。 应用场景: 通常作为解题中的一步,常用来处理有关连通块的问题。 例如:求联通块个数,求每个连通块的边长。 例题1:1097. 池... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 为什么BFS可以用来求权值为1的最短路? 由于我们知道Dijkstra算法肯定是正确的,那么我们可以通过证明bfs可以实现Dijkstra算法的功能,就证明了其正确性。 首先,我们知道Dijkstra算法的核心是每次从队列中取出一个最小的点,也就是小根堆的堆顶... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 1402. 星空之夜 - AcWing题库 思路: 大体思路就是找所有的连通块(FooldFills算法(DFS)) 然后对于每个连通块,判断是否是重复出现的形状,这是个难点 我们不可能把一个形状旋转个90°或者180°之类的 那么我们最好... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 【数论】数论分块(详细,小白):余数求和&&约数研究 数论分块 - OI Wiki (oi-wiki.org) 一道例题 #include #include #include using namespace std;typedef long long LL;... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(13) 评论(0) 推荐(0) 编辑
摘要: ACM常用的解题技巧:尺取法 POJ 3320 (尺取法) 一道例题 算法一:尺取法O(N) #include #include #include #define debug1(var) \ cout = a && one[r] - ... 阅读全文
posted @ 2022-05-05 08:41 光風霽月 阅读(19) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页