Silly_3kidZ

思至水穷处,码看云起时

摘要: 深度优先搜索算法(DFS)讲解 深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法。它以深入探索图的分支为目标,直到到达指定的“深度”,无法继续前进为止,然后通过回溯探索其他分支。DFS是数据结构与算法中一个非常重要且基础的概念,对于理解复杂数据结构的搜索和遍历过程至关重要。 1. DFS定义及 阅读全文
posted @ 2024-03-11 00:47 Silly_3kidZ 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 166. 数独 - AcWing题库 题意 数独 是一种传统益智游戏,你需要把一个 9×9 的数独补充完整,使得数独中每行、每列、每个 3×3 的九宫格内数字 1∼9 均恰好出现一次。 请编写一个程序填写数独。 思路 搜索+剪枝(优化搜索顺序、位运算) 优化搜索顺序:很明显,我们肯定是从当前能填合法 阅读全文
posted @ 2024-03-10 14:40 Silly_3kidZ 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 深度优先搜索(DFS)是一种遍历或搜索树或图的算法,它从一个根节点开始,尽可能深地搜索每个分支,直到找到解为止。在搜索过程中,为了提高效率,减少不必要的搜索,通常会采用各种剪枝优化策略。下面详细介绍几种常用的DFS剪枝优化策略: 1. 优化搜索顺序 目的:通过调整搜索顺序,使得搜索尽快地接近目标或者 阅读全文
posted @ 2024-03-10 00:45 Silly_3kidZ 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1118. 分成互质组 - AcWing题库 题意 将给定数组a分割成若干个互质子集的最小子集数量。每个子集内的任意两个元素都互质。 疑惑 我根据AcWing 1118. 分成互质组 - AcWing题解的思路2写的代码如下,但是代码有错。 把第35行 g[--zushu].pop_back();注 阅读全文
posted @ 2024-03-09 21:34 Silly_3kidZ 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题解 1117. 单词接龙 - AcWing题库 题意: 给定\(n(n\leq20)\)个单词以及单个字符作为开头字母,求出以这个字母开头的最长的“单词接龙”的长度,每个单词最多使用两次 思路: \(n\leq20\),根据由数据范围反推算法复杂度以及算法内容 - AcWing结合题意,很显然用d 阅读全文
posted @ 2024-03-07 23:50 Silly_3kidZ 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 链接: vJudge 题意: 有一个4位数字的密码锁,一次操作你可以选择连续的若干位同时向上或向下旋转一位,现问你从一个状态变换到另一个状态的最少操作次数 思路: 化繁为简,首先可以想到把所有的 $a_0a_1a_2a_3 -> b_0b_1b_2b_3$ 转换为 $0000 -> c_0c_1c_ 阅读全文
posted @ 2023-01-17 20:06 Silly_3kidZ 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 悬线法 应用:理解并解决最大子矩形问题 SPOJ 1805 题意: 在一条水平线上有 $n(1\leq n\leq 10^5)$ 个宽为 $1$,高为 $h_1,h_2,\cdots,h_n(0\leq h_i\leq 10^9)$ 的矩形,求包含于这些矩形的最大子矩形面积(图中的阴影部分的面积即所 阅读全文
posted @ 2022-07-02 00:14 Silly_3kidZ 阅读(53) 评论(0) 推荐(0) 编辑