合集-算法学习笔记

摘要:1.使用scanf函数提高运行效率 2.使用双指针双向读入,运行效率更高 3.定义一个量x,使得数组左右两边分别小于等于和大于等于x,进行快速排序; 4.用do,while循环最后一轮是已经不满足循环条件,此时a[i] >= x, a[j] <= x, 所以循环停止,此时只能使得中间的数 a[i] 阅读全文
posted @ 2023-10-31 00:25 rw156 阅读(68) 评论(0) 推荐(0) 编辑
摘要:二分一定有解,若出现无解,一定是题目中无解二分步骤:定义check函数,先找到一个x,使得区间左边满足条件区间右边不满足条件, 定义mid = l + r >> 1去判断于x的关系,此时需要判断边界关系,例如当a[mid]小于x时,说明二分值在x的左边,此时缩小范围为【mid,r】, 即令 l = 阅读全文
posted @ 2023-10-31 18:40 rw156 阅读(14) 评论(0) 推荐(0) 编辑
摘要:归并排序最重要的一部便是归并,我们的模板顺序为: 定义一个中间值,将我们的区间范围一分为二,我们将 这两部分看成两个数组,我们分别将这两个数组进行归并 排序,并且定义一个新的数组,将这两个数组排序好后导入 到这个新数组中,并最后将这个定义的数组输出为原数组,即可 实现归并排序。 1 #include 阅读全文
posted @ 2023-10-31 18:48 rw156 阅读(6) 评论(0) 推荐(0) 编辑
摘要:两个高精度相加 1 #include <vector> 2 #include<iostream> 3 using namespace std; 4 5 const int N = 1e6 + 10; 6 7 // C = A + B, A >= 0, B >= 0 8 vector<int> add 阅读全文
posted @ 2023-10-31 23:30 rw156 阅读(13) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示