模板——二分查找
2017-08-23 19:36
197 查看
今天十分咸鱼的去洛谷刷了一道二分查找的题。本来自信AC结果崩了…发现还是有一些细节的,来记录一下。
保龄球——luogu
直接发代码好了,注意的地方用注释标记。
/////////////////////
保龄球——luogu
直接发代码好了,注意的地方用注释标记。
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; int n,q; int b; struct pan { int a; int td; }run[110000]; int cmp(pan y,pan z) { return y.a<z.a; } int love(int x) { int mid; int tot=n,fir=1; while(tot>=fir)//**一定要带等于号!!小黄书上骗人!!QAQ** { mid=fir+(tot-fir)/2;//(tot-fir)/2+fir比(fir+tot)/2的优点在于防止加起来的极限数据过大 if(run[mid].a==x) { return run[mid].td; } else { if(x<run[mid].a) tot=mid-1;//**要在mid的基础上-1,不减的话会神奇的TLE掉...** else { if(x>run[mid].a) fir=mid+1; //同上 } } } return 0; } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>run[i].a; run[i].td=i; } sort(run+1,run+n+1,cmp); cin>>q; for(int i=1;i<=q;i++) { cin>>b; cout<<love(b)<<endl; } return 0; }
/////////////////////
相关文章推荐
- 《ASCE1885的源码分析》の基于冒泡排序的二分查找模板
- 《ASCE1885的源码分析》の基于冒泡排序的二分查找模板
- 二分查找模板
- 二分查找【模板】
- 二分查找模板C++
- 简单二分查找模板(查找)
- Leetcode ☞ 35. Search Insert Position 【binary search 二分查找 模板】
- 快速排序模板和二分查找
- C++模板:二分查找
- 【模板】二分查找
- 基于C++模板的二分查找
- 二分查找模板
- 二分查找模板
- ACM 二分查找 二分答案 模板
- 二分查找 模板(升序数组)
- 数据结构实验之查找四:二分查找模板+STL
- 二分查找模板
- 二分查找模板 nyoj626
- 二分查找模板
- 二分查找模板