算法
文章平均质量分 57
,.,
白天的我最菜
这个作者很懒,什么都没留下…
展开
-
二.831(KMP)字符串详解
ne[5],枚举4次]b在后面了,就一个b就不可能在前面了]b舍弃。ne[6],枚举i-1次]一眼看最长相等前后缀,就是aab,aab。能不能把b给夹起来]把中间夹的数越多就多。ne[8],枚举i-1次]aabaa,aabaa。ne[4],枚举3次。原创 2023-11-07 12:18:27 · 308 阅读 · 0 评论 -
二.ACW154. 滑动窗口详解
h=2,t=4.a[q[t]]原创 2023-11-06 12:28:58 · 303 阅读 · 1 评论 -
二AcW826. 单链表
【代码】二AcW826. 单链表。原创 2023-11-05 19:18:02 · 116 阅读 · 0 评论 -
预习一.8区间合并
但ne在e外面, 只把e给ne。一个vector存一个pair,一个pair是两个int。用pair存储,是一个能放两个数据结构的数据结构。如果当前左边界大于当前有边界的话只需要加入集合。if当前左边界小于end,那么变一下当前有边界。ns在e里面但ne也在e里面,不管跳过。4.一遍排序时间复杂度o(nlogn)遍历结束时把左边界加入结果,返回。技巧取最大的就行,两个放在一起。小区间初始大于总初始 全换。来自:B站 睡不醒的鲤鱼。同时保存需要o(n)空间。同时更新一下左右边界。原创 2023-08-23 16:47:24 · 40 阅读 · 0 评论 -
一.7acw离散化
离散化就是将无限空间中的值映射到有限的空间内,去提高算法的时空复杂度。原创 2023-07-23 22:45:44 · 78 阅读 · 1 评论 -
一.6acw位运算
二进制表示的最低位。在给定的代码中,循环用来依次输出。的二进制表示从最高位到最低位的值。的二进制表示中从右往左数第。,那么位与操作的结果就是取。的二进制表示向右移动。原创 2023-07-22 23:44:04 · 63 阅读 · 1 评论 -
最长连续不重复子序列
for循环用来遍历数组a。在循环内部,首先将a[i]对应的计数器s[a[i]]加1。当s[a[i]]大于1时,表示当前元素a[i]在之前已经出现过,需要将之前出现的元素从计数器中减1,并将指针j向前移动一位。这样可以保证指针j到i之间的元素都是不重复的。最后,通过计算i和j之间的距离加1,得到当前不重复子数组的长度,并将其与res进行比较,取较大值。表示将数组 `s` 中下标为 `a[i]` 的元素的值加 1。在该代码中,数组 `s` 的作用是记录每个数出现的次数,`s[a[i]]++` 用于判断。原创 2023-07-21 17:45:12 · 74 阅读 · 1 评论 -
一.5acw双指针
/先枚举终点再枚举起点,j到i是否成立,从j到i一共多长。//把i指针再移动到j地方。check为满足一个性质,j就++核心思想:O(n²)变成O(n)原创 2023-07-20 21:20:03 · 54 阅读 · 1 评论 -
算法技能!
j ++ ){//经典行列循环.每行都要做的事。原创 2023-07-20 20:10:05 · 44 阅读 · 1 评论 -
一.4前缀和和差分
前缀和:求l到r 的和差分:求l到r 的都减去3的原数组称为预处理。原创 2023-07-19 10:50:32 · 97 阅读 · 0 评论 -
一.1,2,3AC合集.预习
一.快排边界问题参考https://blog.csdn.net/SHU15121856/article/details/109839618(25条消息) 【算法学习笔记】8:快速排序中的边界问题_快速排序边界问题_LauZyHou的博客-CSDN博客二.二分(2)实数二分,二次方。原创 2023-06-30 14:17:49 · 183 阅读 · 1 评论 -
一.3AC算法合集
/ 123-120=003去0.结果为0的话不能去掉。// 请在此输入您的代码。原创 2023-06-30 16:59:18 · 98 阅读 · 1 评论