![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础算法
JTao539
这个作者很懒,什么都没留下…
展开
-
数的三次方根 【AcWing】
数的三次方根 【AcWing】 用二分查找算法求数的三次方根。 C语言语法补充: 格式化 %lf , %f 用来输入输出浮点类型。 %.6f用于确保结果小数点后留6位。 #include<stdio.h> #define N 10010 double n, mid, target; int main() { scanf("%lf", &target); double l = -1000, r = 1000; // 循环条件: 当r与l的差小于等于10的-8次方原创 2022-02-07 11:06:16 · 856 阅读 · 0 评论 -
数的范围【AcWing】
数的范围【AcWing】 采用二分查找算法求有序序列中某个数的左右边界, 求左边界时mid下取整,mid下标上的元素与目标值相等时,处理方式等同于比目标值大的元素。 求右边界时mid上取整,mid下标上的元素与目标值相等时,处理方式等同于比目标值小的元素。 #include<stdio.h> #define N 100010 int n, m, nums[N], x; // 左边界 mid 下取整 void left(int x) { int l = 0, r = n - 1;原创 2022-02-07 10:35:13 · 371 阅读 · 0 评论 -
逆序对的数量【AcWing】
逆序对的数量【AcWing】 本算法用归并排序的方法,间接求出序列中逆序对的数量。其思路为二路归并时,如果第二路序列中存在比第一路序列小的数,则此数为逆序的数,具体逆序数量为此时对应的第一路中的所有数的个数。第一路中元素个数的计算公式为 : temp = mid - i + 1; #include<stdio.h> #define N 100010 typedef long long LL; int n, nums[N]; LL reverseNum(int nums[], int l,原创 2022-02-06 16:30:06 · 968 阅读 · 0 评论 -
归并排序【AcWing】
适合强数据类型的归并排序算法 #include<stdio.h> #define N 100010 int n, nums[N]; void merge_sort(int nums[], int l, int r) { if(l >= r) return; int mid = l + r >> 1, i = l, j = mid + 1, temp[r - l], k = 0; merge_sort(nums, i, mid); merge_原创 2022-01-23 11:11:06 · 272 阅读 · 0 评论 -
快速排序 【AcWing】
适合Accept的快速排序代码,适合任意强数据。 #include<stdio.h> #define N 100010 int n, temp, nums[N]; void swap(int i, int j) { temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; } void quick_sort(int nums[], int l, int r) { if(l >= r) return;原创 2022-01-22 11:20:42 · 290 阅读 · 0 评论