算法模板
UDK_KL.
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
高精度——C++中大整数运算
大整数存储工具: 使用STL中的vector容器(动态数组)存储方式: 倒序存储——个位数存到数组第零位,如此以后进位或提升数字位数的时候会方便一些cin>>a>>b; for(i=a.size()-1;i>=0;i--) { A.push_back(a[i]-'0'); //存储大整数 } for(i=b.size()-1;i>=0;i--) { B.push_back(b原创 2021-02-10 17:40:58 · 421 阅读 · 0 评论 -
求平方根——二分查找(浮点数)
#include<iostream>using namespace std;int main(){ double n,l,r; double mid; cin>>n; l=0; r=n; while(r-l>1e-8) { mid = (l+r)/2; if(mid*mid>=n) r=mid; else l原创 2021-02-08 19:58:28 · 373 阅读 · 0 评论 -
二分查找(整数)模版
二分的本质一段区间,定义一种性质使得区间被一分为二二分查找即为寻找满足性质或不满足性质的区间的边界模版选择//区间被划分为[l,mid]和[mid+1,r]int bsearch_1(int l,int r){ while (l<r) { int mid = l+r >>1; if (check(mid)) r=mid; //check()判断mid是否满足某性质 else原创 2021-02-08 19:38:41 · 300 阅读 · 2 评论 -
归并排序模版
确定分界点mid=(l+r)/2递归排序左右两部分归并——将两部分合并#include<iostream>using namespace std;int n;const int N =1e5 +10;int a[N];int temp[N];void merge_sort(int a[],int l,int r){ if(l>=r) return ; int mid = l+r >> 1; merge_s.原创 2021-02-07 12:29:04 · 123 阅读 · 0 评论 -
快速排序模板(C/C++)
确定分界点X:直接取左边界q[l]区中间值q[(l+r)/2]取右边界随机取调整区间,使得第一个区间所有数都小于等于X,第二个区间所有数都大于等于X递归处理左右两边调整区间a[],b[]原创 2021-02-07 12:00:08 · 318 阅读 · 0 评论
分享