![](https://img-blog.csdnimg.cn/e3ebb53dc9b3483f85f45f9c436f6534.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法基础
文章平均质量分 51
...
_End丶断弦
长风破浪会有时,直挂云帆济沧海!
展开
-
---排列数字---
题解:图示:代码如下:原创 2022-06-10 17:37:54 · 821 阅读 · 4 评论 -
数组模拟队列
模拟队列int q[N];存元素int hh = 0;//队头int tt = -1;//队尾题目链接代码如下:#include<iostream>using namespace std;const int N = 100010;int q[N],hh,m;int tt = -1; int main(){ cin>>m; while(m--) { string s; int x;原创 2022-05-29 09:33:40 · 97 阅读 · 1 评论 -
数组模拟栈
模拟栈数组模拟栈应用在算法题中,特点是快。我们需要一个数组,和栈顶元素的索引,数组的末尾插入删除是很快的。题目链接代码如下:#include<iostream>#include<string>using namespace std;const int N = 1000010;int st[N];int tt = -1;//栈顶元素的索引int m;int main(){ string s; int x; cin>>m原创 2022-05-29 08:20:59 · 67 阅读 · 0 评论 -
数组模拟双链表
模拟双链表初始化在a的右边插入结点x在a的左边插入结点x删除结点a实战例题初始化这篇是模拟单链表的数组模拟单链表,这次偷个懒,0表示头,1表示尾,相当于2个哨兵。void init(){ R[0] = 1; L[1] = 0; index = 2;}在a的右边插入结点x代码如下://在a的右边插入xvoid insert(int a,int x){ e[index] = x; R[index] = R[a]; L[index原创 2022-05-27 10:15:10 · 165 阅读 · 4 评论 -
数组模拟单链表
单链表初始化头插在下标为k的结点后插入x删除k的后一结点头删例题实战原创 2022-05-26 18:00:59 · 144 阅读 · 5 评论 -
力扣392---判断子序列
判断子序列双指针的应用双指针的应用题目链接:点击直达题解:双指针解决动图演示:代码如下:class Solution {public: bool isSubsequence(string s, string t) { int m = s.length(), n = t.length(); int i = 0,j = 0; while(i < m && j <n) {原创 2022-05-25 12:26:47 · 113 阅读 · 4 评论 -
离散化求区间和(C++)
离散化离散化例题实战离散化离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。也就是离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例题实战https://www.acwing.com/problem/content/804/题解步骤:a[N]存数据,s[N]存前缀和,vector < int > alls存数据离散化映射的下标,vector <pair<int,i nt >>add,query要加上c和询问原创 2022-05-24 10:40:33 · 242 阅读 · 5 评论 -
差分(前缀和的逆运算)
差分一维差分差分数组的作用实战例题二维差分一维差分差分:是前缀和的逆运算差分数组:有了数组b,就可以在O(n)得到数组a差分数组的作用问题:输入一个长度为 n 的整数序列。接下来输入 m 个操作,每个操作包含三个整数 l,r,c,表示将序列中 [l,r] 之间的每个数加上 c。暴力的解法是遍历区间[l,r],每次再进行m次操作,时间复杂度是O(mn),若给的数据很多,可能就过不掉了。下面用差分数组进行优化,数组a是数组b的前缀和,我们对数组b的b[i]操作就会影响数组a的a[i]及后面原创 2022-05-22 17:09:54 · 221 阅读 · 1 评论 -
前缀和(一维和二维)
前缀和前缀和概念一维数组的前缀和一级目录前缀和概念前缀和概念:数组该位置之前的元素之和重点:在进行前缀和的运算时,下标从1开始,设数组的a[0] = 0例如:a[3] = {0 ,1 , 2 , 3}a[1]的前缀和: a[1]a[2]的前缀和:a[1] + a[2]…下标从1开始,边界好处理,且设为0不影响结果。前缀和的作用:快速求出数组中某段区间的和。一维数组的前缀和给定一个长度为n的序列,有m次询问,每次询问输入(l,r),求出每次的(l,r)区间的和。我们很快就可以想到原创 2022-05-22 09:36:35 · 140 阅读 · 2 评论 -
高精度加减乘除(C++)
高精度运算高精度+高精度高精度-高精度高精度*低精度高精度/低精度高精度+高精度实际上高精度就是说参与运算的数据和运算结果的范围,超出标准数据类型能表示的数据大小范围的运算。这个时候,如果要得到正确的计算结果,显然不能依靠普通方法实现了,需要使用高精度的计算了。重点:1.使用字符来存储数据2.将字符串从后向前存,因为加法可能有进位,数组在末尾是很容易插入数据的高精度加法题目链接,点击直达高精度-高精度高精度*低精度高精度/低精度...原创 2022-05-19 20:40:14 · 373 阅读 · 2 评论