- 博客(19)
- 收藏
- 关注
原创 字符串哈希从入门到精通
字符串哈希通过特定算法将字符串映射为固定长度的数值,常用于快速字符串匹配、数据校验等场景。核心思想是将字符串转化为可计算的数值,从而简化比较或查找操作
2025-03-17 22:14:59
595
原创 数据结构——单调队列
单调队列是一种维护滑动窗口内极值的高效数据结构,通过保持队列元素单调性,可在O(n)时间内解决最大值/最小值问题,常用于优化动态规划及算法时间复杂度
2025-03-14 22:13:38
799
原创 01分数规划
求一个分式的极值给出若干物品,每个物品有一个收益 ai 和代价 bi,最大化或者最小化下方表达式其中,wi 表示当前物品是否被选择或者,可以看作每件物品包含两个权值一个收益 ai,一个代价 bi,要从中选择若干个物品,使得最大。这就是 01 分数规划问题的模型,其中 01 表示物品是否被选择使得一个比值达到最大或者最小,可以直接考虑到二分!类似瓶颈问题,01 分数规划也是一种不需要分析就能确定是用二分法解决的典型问题一般来说,
2025-02-11 11:37:32
381
原创 探讨矩阵:从基础到应用
单位元是集合中的一个特殊元素,它在与其他元素的运算过程中保持不变性。具体来说:当单位元与自身相乘时,得到的结果等于原单位元本身。如果单位元与另一个元素相乘,得到的也是这个元素本身。根据单位元的定义,我们就可以求单位矩阵了3.2 单位矩阵一个4*4的单位矩阵,是这样的:我们发现这个矩阵是主对角线为1其他为0的一个矩阵。
2025-02-08 17:21:02
1232
原创 教你逐步将“快速幂低级求逆元”优化成“线性求逆元”(加例题《线性求逆元》《线性求逆元(2)》)
把“低级快速幂求逆元”变成“高级线性级别求逆元”,找详细。(包括例题《线性求逆元》《线性求逆元2》)
2025-02-06 23:49:34
933
原创 拓扑排序与动态规划 + 例题《家谱树》
首先我们可以在每次要出队前,给队中的数排序这样就可以得到字典序最小了,可是时间爆炸了。这个体实际上就是让求字典序最小的拓扑序,而我们要如何实现字典序最小呢?中,将所有点按照次序排列的过程。这种排序方式能够确保对于每一条从。(Directed Acyclic Graph)图,就是。每遍历到一个点,就向下遍历出度点,回溯时入栈。每遍历到一个点,就将其弹出,并压入拓扑数组(这时候我们可以用优先队列,小根堆来完成排序。,在最终的结果序列里,一般来说,我们可以通过。通常,拓扑排序在一个。
2025-02-04 14:51:40
487
原创 讲解BIT-3(Y1树状数组进阶)及思路
联系之前的区间修改,单点查询,我们可以得知区间查询其实就是差分数组前缀的前缀。之前我们做的都是区间修改,单点查询的题目,可是这个题是区间修改,区间查询我们怎么办?对于 sum1 数组的修改和之前是一样的。
2025-01-22 19:37:24
442
原创 C++ 树状数组
44的二进制=(010100),然后我们把44和-44的二进制进行按位与运算,也即按位&得到,二进制000100,也就是十进制的4。可以解决大部分区间上面的修改以及查询的问题,例如1.单点修改,单点查询,2.区间修改,单点查询,3.区间查询,区间修改等问题;44的二进制=(101100),我们对44的二进制数取反+1,也即~44+1,得到-44。如何计算一个非负整数n在二进制下的最低为1及其后面的0构成的数?那么lowbit运算时怎么实现的呢?
2025-01-21 19:15:43
1170
原创 常见STL
Map是STL的一个关联容器,,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。vector是为了实现动态数组而产生的容器,然而向量这个名字是STL编写者取名没区好,因为在数学上的向量在几何中是矢量,两者名字相同而意义大相径庭。vector是STL容器中的一种常用的容器,和数组类似,由于其大小(size)可变,常用于数组大小不可知的情况下来替代数组。
2025-01-19 13:26:44
196
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1