自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AcWing基础学习算法学习笔记05——前缀和

输入一个 n行 m列的整数矩阵,再输入 q个询问,每个询问包含四个整数 x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。二维数组的前缀和是到(0,0)矩阵的和,s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];求子矩阵的和,s[x2][y2]-s[x1-1][y2]-s[x2][y1-1]+s[x1-1][y1-1]下标矩阵减去左,上子矩阵,因为减去了公共区域最后加上s[x1-1][y1-1]。例如求a2倒a6的和便是求s6-s(2-1)。

2024-03-21 17:35:35 213 1

原创 AcWing基础算法学习笔记04——高精度(下)

从被除数的最高位开始,首先余数更新为余数*10加上当前位,将余数除以除数b的值压入数组,r变为除以b后的余数,重复此操作直至遍历完被除数。步骤二、用数组A的每一个数去乘b加上进位t,A[i]*b mod10的余数则是该数位的值,将t/10,更新成新的进位。t+A[i]*b 是第i位乘上b的值,取模则是当前数位i的值,t自身除数则是新的进位。步骤一、将被除数以字符串的形式录入,逆序以数组的形式存储,除数以整数的形式录入。步骤一、将乘数A以数组的形式存储,被乘数b为整数类型。2.代码模板以及解析。

2024-03-20 15:26:07 324 1

原创 AcWing基础算法学习笔记04——高精度(上)

因为判断了数组大小,A数组大于B数组,A的长度一定大于等于B,所以循环完A数组停止,t是借位,t首先等于A[i]在减去上次计算借的位。以字符串的形式录入数字,并利用ascii码将字符转化为数字,并将从低位开始存储,方便最高位进位。以字符串的形式录入数字,并利用ascii码将字符转化为数字,并将从低位开始存储,方便最高位进位。步骤一、将算法以数组的形式存储,存储将低位从0数组开始存储,以方便最高位进位。步骤一、将算法以数组的形式存储,存储将低位从0数组开始存储,以方便进位。1.将数字存储到数组中。

2024-03-17 13:49:18 1476

原创 AcWing基础算法学习笔记03——二分查找

若不满足,更新l=mid+1;更新后区间[mid+1,r](mid不满足条件所以不会是边界值l是mid前一位)mid向下取整mid=l,更新后区间[l,r]与更新前区间相同,陷入死循环。判断条件q[i]>=x找到第一个大于或等于x的元素,也就是k值出现的第一个元素。判断条件q[i]<=x找到第一小于或等于x的值,也就是k最后出现的元素。若满足右区间,更新r=mid;更新后区间[l,mid] (mid也可能是边界点)所以此处mid=l+r+1>>1;若满足左,更新l=mid;若不满足,更新r=mid-1;

2024-03-16 22:59:30 444

原创 Acwing基础算法学习笔记02——归并排序

归并排序将数组不断递归划分至每个区间的长度为一的数组,然后进行归并成为一个长度为二的数组,新形成的二维有序区间再次归并,重复此操作,数组将归并成一个有序数组。将两个有序的区间合成一个有序的区间tmp,最后将tmp复制给原数组。递归函数结束,当递归区间长度变成1时也就是l=r时递归结束。归并排序将数组划分为两个区间,并将两个区间进行递归调用。3.归并两个有序的区间,将两个有序的区间合二为一,形成新的有序区间。1.确立分界点,归并排序取区间下标的中点为的分界点。2.递归排序左右两区间。2.确立中点,调用递归。

2024-03-13 16:10:50 527

原创 AcWing基础算法学习笔记01——快速排序

i,j各自往后移动一位,因为在调整区间时交换q[i],q[j]后i和j会前进一位,所以开始i,j退后一位确保能使最开始两个数能够交换。当i指到大于分解值x的时候停下,j指到小于分界值x的停下,交换q[i],q[j]的值继续迭代直至i和j相遇。1.确定分界点x,x可以是任意一个数取边界q[l],q[r],以及q[l+r>>1]都可以。将l~j左区间和j+1~l右区间进行相同分治。2.调整区间将大于x的数移到x的左边小于x的数移到右边。当左指针和右指针相遇时退出递归。3.递归处理x左右两部分。

2024-03-12 12:36:04 575

空空如也

空空如也

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

TA关注的人

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