会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
RonChen
博客园
首页
新随笔
联系
订阅
管理
2026年2月10日
次短路
摘要: 单源次短路径指的是在某个无向图 \(G=(V,E)\) 中,给定某个源点 \(v\),由 \(v\) 到其他顶点的所有路劲中长度为次短的路径,单源次短路径问题是单源 \(k\) 短路径问题的特例。对于一般的单源 \(k\) 短路径问题,可以通过扩展 Dijkstra(要求没有负权边)算法来求解。 例
阅读全文
posted @ 2026-02-10 09:50 RonChen
阅读(1)
评论(0)
推荐(0)
2026年2月9日
分层图最短路
摘要: 在标准的最短路问题中,状态通常只由节点编号决定。但在实际建模时,会遇到一些带有“限制条件”或“附加状态”的题目,例如: 资源限制:移动需要消耗资源,或者在节点处可以补充资源。 次数限制:可以免费通过 \(k\) 条边,或者有 \(k\) 次反转边权的机会。 开关状态:某些边的开启取决于当前是否持有了
阅读全文
posted @ 2026-02-09 16:33 RonChen
阅读(1)
评论(0)
推荐(0)
01 图最短路
摘要: 一般求解最短路径,高效的方法是 Dijkstra 算法,如果用优先队列实现则时间复杂度为 \(O(m \log m)\),\(m\) 为边数。但是在边权为 \(0\) 或 \(1\) 的特殊图中,利用双端队列可以在 \(O(n+m)\) 时间内求得最短路径。Dijkstra 算法中优先队列的作用是保
阅读全文
posted @ 2026-02-09 15:40 RonChen
阅读(2)
评论(0)
推荐(0)
2026年2月8日
洪水填充
摘要: 洪水填充算法(flood fill algorithm),也称为泛洪算法,用于将格点的某一个连通区域内的所有格点状态修改为目标状态,状态往往用颜色表示。一般的处理方法是,从一个起始点开始把附近与其连通的点填充成新的颜色,直到连通区域内的所有点都被处理过为止,因为其思路类似洪水从一个区域扩散到所有能到
阅读全文
posted @ 2026-02-08 14:36 RonChen
阅读(2)
评论(0)
推荐(0)
双向搜索
摘要: 如果问题不但具有“初态”,还具有明确的“终态”,并且从初态开始搜索与从终态开始逆向搜索产生的搜索范围能覆盖整个问题的状态空间,在这种情况下,可以采用双向搜索——从初态和终态出发各搜索一半状态,使得两边的搜索深度减半,在中间交会、组合成最终的答案。 双向 DFS 例题:P10484 送礼物 这个问题的
阅读全文
posted @ 2026-02-08 11:06 RonChen
阅读(2)
评论(0)
推荐(0)
迭代加深搜索
摘要: 迭代加深搜索是一种状态空间搜索策略,其实质是多轮次地执行有深度限制的深度优先搜索,直到找到目标解或确定无解为止。其中随着轮次的增加,搜索深度的上限也不断增加。 记当前搜索的深度限制为 \(\tau\),算法的主要流程如下: 先将深度限制设为 \(\tau = 1\)。 从起始状态出发,执行深度不超过
阅读全文
posted @ 2026-02-08 10:26 RonChen
阅读(2)
评论(0)
推荐(0)
2026年2月7日
剪枝
摘要: 剪枝就是排除搜索树中不必要的分支 比如,如果知道往某个支路走答案必定(或者已经)不如当前最优解,那么就可以跳过这个支路 同样,为了可以剪掉更多枝,可以优先往期望较优的分支走 可以对当前状态“估价”,例如当前状态到最终状态至少要 \(x\) 步,而当前已经走过的步数再加上 \(x\) 大于等于当前的最
阅读全文
posted @ 2026-02-07 13:17 RonChen
阅读(2)
评论(0)
推荐(0)
2026年2月3日
最小表示法
摘要: 给定一个字符串 \(S_{0 \sim n-1}\),如果不断把它的最后一个字符放到开头,最终会得到 \(n\) 个字符串,称这 \(n\) 个字符串是循环同构的。这些字符串中字典序最小的一个,称为字符串 \(S\) 的最小表示。 例如 \(S\) 为 "abca",那么它的 4 个循环同构字符串为
阅读全文
posted @ 2026-02-03 20:02 RonChen
阅读(3)
评论(0)
推荐(0)
2026年1月31日
表达式计算
摘要: 平常写表达式,一般运算符在数的中间,比如 \(1 + 3 \times 5\),其中 \(+\) 在 \(1\) 和 \(3 \times 5\) 之间,\(\times\) 在 \(3\) 和 \(5\) 中间,这种表达式称为中缀表达式。中缀表达式对人类友好,但对计算机没那么友好。对计算机友好的表
阅读全文
posted @ 2026-01-31 09:07 RonChen
阅读(3)
评论(0)
推荐(0)
2026年1月23日
KMP 算法
摘要: 在字符串匹配问题中,通常面临这样的任务:给定一个文本串 \(S_1\) 和一个模式串 \(S_2\),找出 \(S_2\) 在 \(S_1\) 中出现的位置。 最直观的方法是暴力匹配:从 \(S_1\) 的第一个字符开始,逐个比较 \(S_2\);如果匹配失败,\(S_1\) 的指针向后移动一位,\
阅读全文
posted @ 2026-01-23 16:29 RonChen
阅读(9)
评论(0)
推荐(0)
下一页
公告