![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
文章平均质量分 61
在本专栏将会讲解一些写算法题用到的基础的算法知识及代码模版等
少年负剑去
这个作者很懒,什么都没留下…
展开
-
整数二分(c++)
即可以看做成找数字那个游戏在一百个数字中找到指定的数字(66)A出题 B:50A 50太小了 B : (50+100)/2 = 75A 75太大了 B :(50 + 75) /2 = 62所以也可以知道一个结论 :有单调性,一定可以二分。可以二分的题目,不一定有单调性。a[]数组 1 2 2 2 3 3 4 4 5 找到最后一个2check (mid) 是指一个判断 a[mid] <= 2 (要找的数)原创 2024-08-03 18:53:15 · 243 阅读 · 0 评论 -
高精度加法、减法、乘法、除法(C++)
首先是定义输入的两个数字,在这里采用vector储存两个加数是为了能够动态的存储数字,并将他们的顺序逆过来(逆过来是为了让他们从个位开始相加)。然后调用add方法(该方法是一个模板),首先设置一个数组(去储存两数相加的结果)和一个变量(表示两个数字相加的进位),对每一位的数字进行加法运算。原创 2024-07-29 19:50:49 · 472 阅读 · 0 评论 -
二维差分(c++)
输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。假定a[i][j] = 0,那么b[i][j] =0,然后读取数组a,只需要对b进行插入即可。b[i][j]相当于从(i,j)到(i,j)插入一个a[i][j]形成的。即a[i][j]存的是[i,j]左上角所有b[i][j]的和。将a[i][j]表示为一个差分数列b[i][j]的和。原创 2024-08-01 16:36:56 · 334 阅读 · 0 评论 -
高精度减法
【代码】高精度减法。原创 2024-07-29 23:41:42 · 273 阅读 · 0 评论 -
二维前缀和的计算(c++)
输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来q行,每行包含四个整数x1, y1, x2, y2,表示一组询问。接下来n行,每行包含m个整数,表示整数矩阵。对于每个询问输出子矩阵中所有数的和。−1000≤矩阵内元素的值≤1000。共q行,每行输出一个询问的结果。第一行包含三个整数n,m,q。原创 2024-08-01 00:05:17 · 543 阅读 · 0 评论 -
高精度乘法(C++)
【代码】高精度乘法(C++)原创 2024-07-30 12:07:36 · 73 阅读 · 0 评论 -
一维前缀和
原i a1.a2,a3,a4,a5,a6 …. an前缀和 Si = a1+ a2 +a3 … + ai (注:要从下标为1开始, S0定义为0)原创 2024-07-31 21:48:42 · 488 阅读 · 0 评论 -
高精度除法(C++)
【代码】高精度除法(C++)原创 2024-07-30 19:35:45 · 399 阅读 · 0 评论 -
差分算法及代码模版(c++)
b[n],因此只需要将b[l] = b[l] + c 即可,这样l之后的数字会依次加上常数c,而在 b[r]处,将b[r+1] = b[r+1] - c ,这样r之后的数组又会恢复原值,仅需要处理这两个边界的差分数组即可,时间复杂度大大降低。b[i][j]相当于从(i,j)到(i,j)插入一个a[i][j]形成的。构造方式为b[1] = a[1], b[2] = a[2] - a[1], b[n] = a[n] - a[n-1];即a[i][j]存的是[i,j]左上角所有b[i][j]的和。原创 2024-08-01 16:39:27 · 473 阅读 · 0 评论 -
c语言基本的排序算法
q[l] q[ (l+r)/2 ] q[r] 随机。所有小于等于x 的在左半边。所有大于等于x 的在右半边。原创 2024-07-21 20:04:16 · 219 阅读 · 0 评论 -
一维差分(c++)
b[n],因此只需要将b[l] = b[l] + c 即可,这样l之后的数字会依次加上常数c,而在 b[r]处,将b[r+1] = b[r+1] - c ,这样r之后的数组又会恢复原值,仅需要处理这两个边界的差分数组即可,时间复杂度大大降低。b[n]为差分数组。目的就是为了推导出b[1] = a[1], b[2] = a[2] - a[1], b[n] = a[n] - a[n-1];构造方式为b[1] = a[1], b[2] = a[2] - a[1], b[n] = a[n] - a[n-1];原创 2024-08-01 09:40:35 · 400 阅读 · 0 评论