- 博客(7)
- 收藏
- 关注
原创 【算法】快速幂(什么是快速幂,分析代码,怎样用快速幂,基础夯实)
首先,幂运算指的是一个数自乘若干次,比如 a^n 表示 a 乘以自己 n 次。快速幂是一种高效计算幂运算的算法,它能把朴素的 O(n) 时间复杂度降到 O(logn)。
2025-11-09 13:42:33
977
原创 【题目集1】字符串最小化去重(单调栈)
我做这题的时候已经过了考试时间了,我也不知道怎么搜这个题,PTA上的,所以没有进行测试,不知道对不对,测试用例是对的,思路应该也是对滴,请佬批评指正。2、然后维护一个栈,往里面放入尽量小的字母(与栈顶比)(为什么不与前面的字母比,因为前面的字母已经放好了----这就与条件有关系了)如果不存在,栈不为空,栈顶>该字母,并且栈顶后面还有出现的次数,那么。开始我还看错题目了,以为去掉重复字符串就好了,结果还要是最小字典序,unordered_map<char, int> count存。// 记录字符是否在栈中。
2025-11-03 21:48:53
433
原创 【算法】ST表题目练习(卡密萨马,终于肝完了/(ㄒoㄒ)/~~)
小声bb:终于做完了一些些基础的ST表练习题,上几篇文章分别分析了ST表和二分算法还有单调队列,都是这些题目引申的o(* ̄▽ ̄*)ブ,欢迎佬们批评指正。
2025-10-23 19:14:05
727
原创 【自定义结构体,自定义排序】题型练习(代码不规范,还请批评指正orz)
默认情况下,sort函数对自定义结构体的排序可能不符合我们的需求,这时候就需要自定义排序规则。自定义排序通常是通过编写一个比较函数,告诉sort函数如何比较两个结构体对象的大小,从而确定它们的排列顺序。比如:“德才论” 的自定义排序首先比较考生的类别,类别数值小的排前面(类别 1 是 “才德全尽”,优先级最高,类别数值最小);类别相同的话,比较总分,总分高的排前面;总分相同,比较德分,德分高的排前面;德分也相同,比较准考证号,准考证号小的排前面。比较函数compareif (a.lei!
2025-10-20 18:18:52
407
1
原创 【数据结构】单调队列(什么是单调队列,核心代码,什么情况适用单调队列)
顾名思义:单调:单调递增,单调递减。队列:先进先出,队首是q.front(),队尾是q.back()。单调队列通常用双端队列(deque)实现,因为需要在队首删除‘超出范围的元素’,在队中删除‘破坏单调性的元素’,在队尾加入新元素 —— 普通队列(queue)只能在队首删、队尾加,无法满足中间删除的需求”。这样能解释 “为什么用 deque 而不用普通 queue”,避免后续写代码时混淆数据结构选择。当向队列中添加新元素时,会移除队列中所有比新元素更不符合单调性的元素(更大/更小)队首。
2025-10-16 17:21:23
784
原创 【算法】二分(什么是二分,二分算法的作用,什么时候用二分,怎么用二分)
二分查找就是在有序数组中找目标的搜索算法,把整体一直分成两份,与中间值mid = (l + r) / 2 比较,目标在左边就再把左边分成两份继续找,在右边就就把右边分成两份继续找,直到找到目标位置为止?其实不是,我很多次都是因为这个弄混了,不是 arr[mid] == target 中止,是当 l == r 的时候中止。
2025-09-28 14:35:48
982
原创 【算法】ST表代码分析,边界分析(小白分析,orz请批评指正)
ST表的主要作用是在一个区间里面寻找最大值,具有快速查找的功能,但是他的代码难以理解,我会依次进行分析。
2025-09-23 19:23:36
1019
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅