会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Doraemon-Blog
首页
联系
订阅
管理
2025年2月23日
Manacher(马拉车)算法
摘要: 1.前置知识 回文子串 回文的子串 最长回文子串 字符串中最长的回文子串 回文半径 设以\(i\)为中心的最大回文子串的长度为\(n\),则这个字符串第\(i\)位的回文半径为\((n+1)/2\) 2.算法流程 2.1 预处理 在处理回文子串(马拉车算法适用)的问题时,一般需要求出每一位的回文半径
阅读全文
posted @ 2025-02-23 19:23 March7thDev
阅读(48)
评论(0)
推荐(0)
2025年1月18日
树(基础)
摘要: 树 1 定义 1.1 树是什么 树是一种数据结构,因为形似倒着的树而得名. 1.2 树的定义 递归定义 1.2.1 有根树的定义 形象化的,如图1,有根树存在根节点这一定义,从根节点可以分出任意个分支,这任意个分支又可以继续细分,分出的节点称为“子节点”。 抽象化的,树也是\(N\)个节点和\(N-
阅读全文
posted @ 2025-01-18 20:57 March7thDev
阅读(187)
评论(0)
推荐(0)
2025年1月16日
倍增
摘要: 1.解释 如题,翻倍 优点:时间复杂度小 缺点:大多数情况下需要预处理,麻烦 2.步骤 1.翻倍 3.例题 题目:如何用尽可能少的砝码称量出 \([0,31]\) 之间的所有重量? 方法:每次使用\(2\)的倍数做砝码的重量就可以了 答案:\(5\) (\(1,2,4,8,16\)) 4.技巧 这个
阅读全文
posted @ 2025-01-16 17:22 March7thDev
阅读(29)
评论(0)
推荐(0)
二分
摘要: 1.解释 其实这个东西吧,是分治的分支 优点:时间复杂度低,十分简单,方便写,适用绝大多数题目 缺点:总有人眼瞎写错() 2.步骤 1.在序列中确定中间数 2.判断这数是不是,\(<\)的话去左边找,否则去右边找 3.重复步骤直到中间数是要求的数字 3.例题 题目:洛谷 P1873 方法:朴素算法查
阅读全文
posted @ 2025-01-16 17:07 March7thDev
阅读(33)
评论(0)
推荐(0)
2025年1月15日
分治
摘要: 1.解释 把一个问题分解成多个不同子问题,当子问题可以迎刃而解时,整个问题也就迎刃而解 优点:可以将复杂的问题简单化,让问题更好解决 缺点:很容易扣细节就绕进去了,很难使人相信这东西的正确性 2.步骤 分而治之 1.尝试去分解问题(最难的一步) 2.不断分解直到没法继续分解 3.利用简单的求复杂的
阅读全文
posted @ 2025-01-15 19:58 March7thDev
阅读(23)
评论(0)
推荐(0)
模拟
摘要: 1.解释 按照题目中的步骤一步一步写 优点:不容易错,具有说服力,不容易证假 缺点:在题目复杂时极其容易出错 2.步骤 1.分析题意 2.标注步骤 3.开始写 3.例题 题目:一只长度不计的蠕虫位于 n 英寸深的井的底部。它每次向上爬 u 英寸,但是必须休息一次才能再次向上爬。在休息的时候,它滑落了
阅读全文
posted @ 2025-01-15 18:23 March7thDev
阅读(41)
评论(0)
推荐(0)
枚举
摘要: 1.解释 通俗来讲,枚举就是试,试出正确的结果。 优点:简便好写,思路好想 缺点:未经优化的枚举时间复杂度大,有时需要优化 2.步骤 1.确定枚举的条件(如值,范围) 2.通过循环与判断语句去判断是否符合条件 3.例题 题目:一个数组中的数互不相同,求其中和为 0 的数对的个数。 思路:挨个匹配尝试
阅读全文
posted @ 2025-01-15 17:39 March7thDev
阅读(51)
评论(0)
推荐(0)
2024年2月20日
字符串算法之哈希
摘要: 哈希
阅读全文
posted @ 2024-02-20 15:02 March7thDev
阅读(116)
评论(0)
推荐(0)
公告