posted @ 2022-03-10 15:31 ZheyuHarry 阅读(212) 评论(0) 推荐(1) 编辑
摘要:
今天要介绍的是yxc都说是特别牛逼的一种算法,对于处理字符串问题十分的有用! 我们先大概的简介一下这个算法,我们在之前的普通哈希中我们已经知道哈希是需要定义一个哈希函数来使一个比较大的值域映射到一个较小的区间中,但是有可能有多个值映射到同一个值上,所以我们为了处理这样的冲突,我们分别创造了开放寻址法 阅读全文
摘要:
这里将会引入一种哈希表的数据结构,粗看之下我们会觉得这个的形式特别像我们之前学过的离散化,就是将一个极大的值域映射到一个相对小的空间中以便我们的查询和删除。但是值得注意的是,离散化保序而哈希表不保序。就比如我们之前学到的离散化的求区间和,这个是需要保存其序列的,我们是对应的去求其某一段范围之内的和, 阅读全文
posted @ 2022-03-09 20:13 ZheyuHarry 阅读(39) 评论(0) 推荐(1) 编辑
摘要:
来源:Atcoder ARC 136 B - Triple Shift (atcoder.jp) 题解:这道题我们不可能去硬模拟(大多数这种题都不能这样去模拟的),然后我们就要去发现特性, 发现把 ai ai+1 ai+2 变成 ai+2 ai+1 ai 的过程,并不改变这个数组中逆序对的奇偶性。 阅读全文
posted @ 2022-03-04 22:58 ZheyuHarry 阅读(58) 评论(0) 推荐(1) 编辑
摘要:
来源:牛客小白月赛45 C-山楂_牛客小白月赛45 (nowcoder.com) 题目:众所周知,清楚姐姐最近迷上了一个老年游戏“山楂串”(点进去可以玩)这个游戏中我们可以将3或4个iii级糖果合并,升级成为一个高一级的糖果并且获得x∗ix*ix∗i点积分,xxx为消耗同级糖果的数量,iii为你消耗 阅读全文
posted @ 2022-03-04 22:19 ZheyuHarry 阅读(142) 评论(0) 推荐(0) 编辑
摘要:
并查集被很多OIer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并(Union):把两个不相交的集合合并为一个集合。 查询(Find):查询两个元素是否在同一个集合中。 当然,这样的定义未免太过学术化,看完后恐怕不太能理解它具体有什 阅读全文
posted @ 2022-02-28 22:17 ZheyuHarry 阅读(29) 评论(0) 推荐(0) 编辑
摘要:
字典树(Trie)是一个比较简单的数据结构,也叫前缀树,用来存储和查询字符串。 具体是以怎样的存储方式呢,如图: 我们可以发现,正如其别名前缀树一样,具有相同前缀的字符串共享同一个树枝干,直到不同的地方才会分开来 具体对这个字典树的讲解,我们便分析板子边考虑: 835. Trie字符串统计 - Ac 阅读全文
posted @ 2022-02-27 23:17 ZheyuHarry 阅读(42) 评论(0) 推荐(0) 编辑
摘要:
我们在前面已经用数组模拟过栈和队列去执行一些基本操作了,然后呢,我们这里引入单调栈和单调队列的概念 单调栈和单调队列顾名思义我们知道这个栈和这个队列中的元素是单调递增(递减)的,那么这些具体能用来处理哪些问题呢? 单调栈的应用:单调栈则主要用于 解决NGE问题(Next Greater Elemen 阅读全文
posted @ 2022-02-26 23:04 ZheyuHarry 阅读(78) 评论(0) 推荐(0) 编辑
摘要:
KMP算法是一种用于字符串匹配的算法,我们在介绍KMP算法之前,我们先介绍一下字符串匹配的朴素算法: 题目:有长度为N的字符串P , 长度为M的字符串S , 问 P在S中匹配项的起始位置: 双重循环,遍历S数组,每遇到一个新的S[i] 就要从 P[1]重新开始判断是否匹配,相当于一层一层的往后靠:’ 阅读全文
posted @ 2022-02-25 22:15 ZheyuHarry 阅读(39) 评论(0) 推荐(0) 编辑