![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACWing
CDQ0818
绝知此事要躬行
展开
-
整数二分算法
文章目录问题描述解决步骤二分查找模板问题描述给出一个有序数组arr = {1,2,2,3,3,5},求第一个2的数组下标。解决步骤1.int l = 0, r = arr.length - 1;int mid = 1 + r >> 1;if(arr[mid] >= 2) r = mid;else l = mid + 1;重复步骤2、3直到l >= r,最后l的值为1.二分查找模板bool check(int x) {/* ... *原创 2022-04-28 22:07:02 · 150 阅读 · 0 评论 -
AcWing 788. 逆序对的数量
文章目录问题描述实现代码问题描述实现代码#include <iostream>using namespace std;typedef long long LL;const int N = 1e5 + 10;int q[N];int temp[N];int n;LL merge_sort(int q[], int l, int r){ if(l >= r) return 0; int mid = r + l >> 1;原创 2022-04-27 17:19:51 · 132 阅读 · 0 评论 -
ACWing 786. 第k个数
文章目录问题描述实现代码问题描述实现代码#include <iostream>using namespace std;const int N = 1e5 + 10;int q[N];int n, k;int quick_sort(int l, int r, int k){ if( l >= r) return q[l]; int x = q[l + r >> 1], i = l - 1, j = r + 1; wh原创 2022-04-27 10:51:21 · 235 阅读 · 0 评论 -
C++快速排序
文章目录思路思想:步骤:实现代码思路思想:分治步骤:确定分界点调整区间内数据,使得左区间内所有数小于等于分界点,右区间所有数大于等于分界点。递归执行1和2实现代码#include <iostream>using namespace std;const int N = 1e5;int n;int q[N];void quick_sort(int q[], int l, int r){ if(l >= r) return; in原创 2022-04-23 16:08:33 · 924 阅读 · 0 评论