基础算法
基础算法
然然zl
这个作者很懒,什么都没留下…
展开
-
整数二分、浮点数二分、三分
目录1.介绍模板2.例题(1)数的范围(整数二分)(2)数的三次方根(浮点数二分) 1.介绍模板 模板 int bsearch_1(int l,int r) { while(l<r) { int mid=l+r+1>>1; //+1 防止死循环 if(chekc(mid)) l=mid; else r=mid-1; } return l; } 模板 int bsearch_2(int l,int r) { while(l<r) { int原创 2021-08-06 13:27:07 · 167 阅读 · 0 评论 -
归并排序(求逆序对)
归并排序 /* 给定你一个长度为 n 的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 */ #include<bits/stdc++.h> using namespace std; typedef long long LL; const int N = 1e5+10; int q[N],tmp[N]; void merge_sort(int q[],int l,int r) { if(l>=r) return ; int mid=l+r&原创 2021-08-06 12:15:26 · 291 阅读 · 0 评论 -
快速排序、第k个数
快速排序模板(O(nlogn)) /* 给定你一个长度为 n 的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 */ #include<bits/stdc++.h> using namespace std; const int N = 100010; int q[N]; void quick_sort(int q[],int l,int r) { if(l>=r) return ; int x=q[l+r>>1],i=l-1,j=原创 2021-08-02 23:25:22 · 258 阅读 · 0 评论