- 博客(77)
- 问答 (1)
- 收藏
- 关注

原创 高度数组 详解
(可能需要一点 后缀数组的知识 后缀数组 详解)高度数组:指由后缀数组中相邻两个后缀的最长公共前缀的长度组成的数组字符串 S 为 abeacadabeasa: 11 10 7 0 3 5 8 1 4 6 9 2 ( 第 i 大的后缀子串,是从 sa [ i ] 位置开始的子串 )rk: 3 7 11 4 8 5 9 2 6 10 1 0 ( 第 rk [ i ] 大的后缀子串,是从 i 位置开始的子串 )按sa的顺序列出来:“”( 空串 )“a”“abra”“abracadabra”“a
2021-11-24 21:10:48
471

原创 后缀数组 详解
字符串前缀:从字符串开头到字符串某个位置字符串后缀:从字符串某个位置到字符串结尾( 原串 和 空字符串 也是 前缀(后缀))后缀数组:将所有后缀按字典序排序后,得到的数组如果我们直接将每个字符串进行比较,复杂度为 O( nlogn * n )...
2021-11-23 17:45:36
4035
1

原创 Rabin-Karp ( 字符串匹配 )详解
字符串匹配,从 字符串S 中( 长度为 n ),找到 字符串T ( 长度为 m )经典思路:遍历 字符串 S,对于每个匹配一次 O( n m )的复杂度但是这样我们就对 字符 重复判断了多次那我们应该怎么处理才能避免多次对同一个字符判断呢?我们这么考虑假如 字符串S 和 字符串T 是由数字组成例如 S 为 19735859734,T 为 973第一次比较 197 和 973第二次比较 (197 - 1 * 100)* 10 + 3 = 973 和 973第三次比较 (973 - 9 * 1
2021-11-22 16:53:13
698

原创 LCA详解
LCA(最近公共祖先):即在有根树中,两个节点 u 和 v 的公共祖先中距离最近的那个求解 LCA 的算法:①:预处理复杂度为 O( n ),查询复杂度为 O( n )预处理:记录各个节点的深度与父亲节点查询:如果节点 w 是 u 和 v 的共同祖先时,让 u 和 v 中较深的一方向上走,使 u 和 v 的深度相同,然后一起向上走,直到两个节点相遇时停止代码如下(有注释):vector<int> G[MAX_V]; //图的邻接表表示int root; //根节点编号int p
2021-11-07 13:08:55
1205

原创 强连通分量分解详解 超级详细
首先我们得了解,什么是强连通?其次我们得了解,什么是强连通分量?最后我们得了解,什么是强连通分量?#include <iostream>#include <stdio.h>#include <vector>#include <string.h>using namespace std;vector<int> data[10005];vector<int> rdata[10005];vector<int> f
2021-11-05 11:42:31
4660

原创 最小路径覆盖详解 超级详细(附带例题 Stock Charts(给了题目))
最小路径覆盖定义:在图G中找出一些路径,每条路径从起点走到终点,使所有点均被覆盖,且只被覆盖一次,选出的这些路径组成路径覆盖。如果找出最少的路径成为一个路径覆盖,则称为最小路径覆盖。对于不包含圈的有向图,我们可以将其转化为二分图求解转化方法:将有向图中的每个顶点都拆为 2 个顶点得到为何需要不包含圈(无向图当然也不可以):例题大概意思为有 n 支股票,有部分股票不能画在一张图中,求最少几张图能全部画下所有股票...
2021-11-03 14:41:13
2188

原创 树上分治详解 超级详细(附带例题 poj1741(给了题目))
#include <iostream>#include <stdio.h>#include <vector>#include <algorithm>#define INF 1000000005using namespace std;struct edge{ int to, length; edge(int t, int l) { to = t; length = l; }};vector<
2021-11-02 10:38:34
422
1

原创 平面分治详解 超级详细(附带例题 最近点对问题(给了题目))(UVA10245,P1257,P1429)
#include <iostream>#include <stdio.h>#include <algorithm>#include <math.h>#define INF (double)1e18using namespace std;pair<double, double> data[200005];bool cmp(pair<double, double> p1, pair<double, double>
2021-10-31 11:58:03
445
3
原创 leetcode 困难 —— 寻找旋转排序数组中的最小值 I,II(二分 + 特判)
leetcode 困难 —— 寻找旋转排序数组中的最小值 I,II(二分 + 特判)
2023-04-13 22:38:06
644
原创 leetcode 困难 —— 买卖股票的最佳时机 IV(详细思路,很妙的dp题)
(如何构建dp数组,状态转移方程建立,还有 边缘考虑 都比较复杂,很妙的题)
2023-03-25 20:17:50
227
原创 leetcode 困难 —— 计算右侧小于当前元素的个数(分治法)
(可以先去看看 leetcode 困难 —— 数组中的逆序对(分治法),几乎一样,稍微简单一点点)
2023-02-25 15:20:40
129
原创 leetcode 困难 —— N 皇后, N皇后 II,八皇后(简单递归)
(不知道为啥总是给这种简单的递归设为困难题,虽然优化部分很不错,但是题目太好过了)
2023-02-09 20:59:00
370
原创 leetcode 困难 —— 单词接龙(超详细思路,bfs求最短路)
(以前不该觉得力扣怎么大都这么简单,真是应该好好看看官方题解,思路好妙啊,我错了,学到了)
2023-02-08 19:57:29
533
原创 leetcode 困难 —— 正则表达式匹配(超详细思路,递归 或 dp)
leetcode 困难 —— 正则表达式匹配(超详细思路,递归 或 dp)
2023-02-06 10:03:29
449
原创 leetcode 困难 —— 删除无效的括号(超详细思路)
(特别简单的一道题,没有难度,可能考验的就是编程能力,能不能短时间敲完代码,我是菜狗)
2023-02-05 01:59:12
410
原创 leetcode 困难 —— 滑动窗口最大值(超详细思路,用队列 或 不用队列,均可过)
(最近在刷困难题,但是大部分和评论差不多,没有写题解的欲望,这道题,我看评论都是用队列写的,但是不用队列一样能过,所以我分别写下,用队列和不用队列的思路)
2023-01-15 01:30:05
728
原创 koa 使用
1. koa 是什么2. ctx 参数3. next 参数4. request 对象5. response 对象6. koa1,koa2 和 express 的区别
2022-12-19 15:52:18
761
空空如也
vue向子组件传异步数据
2022-03-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人