题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
#include <iostream>
using namespace std;
int n;
int m;
int x;
void binary_search_r(int a[],int l,int r,int x){ //模版一:if判断条件为x是否为第一个满足情况的位置
if(l>=r){
if(a[r]==x) printf("%d ",r); //判断是否找到了
else printf("-1 ");
return;
}
int mid=(l+r>>1);
if(a[mid]>=x) r=mid;
else l=mid+1;
binary_search_r(a,l,r,x);
}
void binary_search_l(int a[],int l,int r,int x){ //模版二:if判断条件为x是否为最后一个满足情况的位置
if(l>=r){
if(a[r]==x) printf("%d\n",r);
else printf("-1 \n");
return;
}
int mid=(l+r>>1)+1;
if(a[mid]<=x) l=mid;
else r=mid-1;
binary_search_l(a,l,r,x);
}
int main()
{
scanf("%d", &n);
scanf("%d", &m);
int a[n];
for (int i = 0; i < n; i ++ ){
scanf("%d", &a[i]);
}
for (int i = 0; i < m; i ++ ){
scanf("%d", &x);
binary_search_r(a,0,n-1,x);
binary_search_l(a,0,n-1,x);
}
}
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla