自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 html的标签使用及效果

找到目标位置标签,里面添加一个id属性=刚才的名字,如:

2024-05-27 19:21:01 836

原创 双指针算法

2.对于每一个i,如何确定j的位置:由于[j, i - 1]是前一步得到的最长连续不重复子序列,所以如果[j, i]中有重复元素,一定是a[i],因此右移j直到a[i]不重复为止(由于[j, i - 1]已经是前一步的最优解,此时j只可能右移以剔除重复元素a[i],不可能左移增加元素,因此,j具有“单调性”、本题可用双指针降低复杂度)。我们用可以一个指针 i 枚举 A中的所有数,而 j则用来枚举 B,但由于数组是单调递增的,所以如果 Ai+Bj≥x那么 Bj+1到 Bm就不可能是答案。

2024-02-24 23:40:43 231

原创 链表以及单调栈和单调队列

链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。单调递增栈:在保持栈内元素单调递增的前提下(如果栈顶元素大于要入栈的元素,将将其弹出),将新元素入栈。单调递减栈:在保持栈内元素单调递减的前提下(如果栈顶元素小于要入栈的元素,则将其弹出),将新元素入栈。每个小块都被分成两块,分别是此位置所包含的值,和地址,也被称为结点,是结构体。给定一个序列,求序列中的每一个数左边或右边第一个比他大或比他小的数在什么地方;单调队列的典型例题,滑动窗口。

2024-02-24 23:27:05 344

原创 前缀和与差分

假如要对数组的某个区间进行查询和修改,可以利用前缀和进行快速运算,比如要对数组k~q这个区间进行求和,如果用暴力做法,就是从a[k]~a[q]依次相加,但是利用前缀和就是b[q]-b[k-1](b数组是a数组的前缀和),如果事先对a数组进行前缀和预处理,那么每次查询的时间复杂度是O(1),从而提高效率。其中操作b[ i ] = a[ i ] + b[ i - 1]就是预处理出a数组的前缀和b数组。前缀和指的某个序列的前n项和,而差分可以理解为前缀和的逆运算,就是原数组是差分数组的前缀和。

2024-02-24 23:03:46 362

原创 二分查找和二分搜索

要想找到零点的位置所对应的x,可以从左往右遍历f(x)的值是否等于零,显然要重复很多次计算,此时我们用二分的方法,将ab折中点x与两端点进行比较,判断零点在a~k或者k+1~b之间,然后重复操作,运算量将会小很多。但重要的是——这个区间是对题目中的某个量有单调性的,比如这个数在1~1e9之间,此时,我们就会二分答案。然后根据题意写个check函数,如果满足check,就放弃右半区间(或左半区间),如果不满足,就放弃左半区间(或右半区间),一直往复,直至到最终的答案。这就是基本的二分答案的操作。

2024-02-24 20:54:48 355

原创 c++中部分stl容器和库函数的使用

所有的容器都可以视作一个“前闭后开”的结构,end 函数返回 vector 的尾部,即第n个元素再往后的“边界"。set 和 multiset 的迭代器称为“双向访问迭代器”",不支持“随机访问”,支持星号(*)解除引用,仅支持"++"和--“两个与算术相关的操作。设x是一个元素,s.erase(x)从s中删除所有等于x的元素,时间复杂度为 O(k+logn).其中k是被删除元素的个数。s.count(x)返回集合s中等于x的元素个数,时间复杂度为 O(k +logn),其中k为元素x的个数。

2024-02-24 20:23:44 751

原创 快速排序的实现

和冒泡排序一样,快排也属于在交换中排好序,不同的是,冒泡排序每次只把一个元素移动到数组的一端,而快排在每一轮排序中挑选一个基础值base,并让比base大的数移动到数组的一边,比base小的数移动到数组的另一边,从而将数组拆解成两部分。经过代码显示,每次分快的中间位置作为base的值,速度是最快的。如何将比base大的数移动到数组的一边,比base小的数移动到数组的另一边呢,我们需要用到两个指针分别指向数组的两端,分别往中间跑。2.首先,指针j 向左找到第一个大于x 的元素,将他们调换位置;

2024-02-05 22:29:12 218

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除