标签:ast roo process \n case clear sample 思想 positive
3 3 1 2 3 1 2 4 0 0
2
虽然二分的思想小学就接触到到了,但是没想到查找居然这么快(emmm)
下面是自己脑补的算法,卡时间过去了,之前卡了十几次
#include<stdio.h> #include<iostream> #include<algorithm> #include<cmath> #include<map> #include<set> #include<vector> using namespace std; vector<long long> a; vector<long long>::iterator i,j; int main() { int n,m; long long z; while(scanf("%d%d",&n,&m),n,m) { a.clear(); int M=0; while(n--) { scanf("%I64d",&z); a.push_back(z); } while(m--) { scanf("%d",&z); a.push_back(z); } sort(a.begin(),a.end()); i=a.begin(); j=i++; for(;i!=a.end();i++,j++) { if(*i==*j) M++; } printf("%d\n",M); } }
下面是二分的算法
#include<stdio.h> int a[1000001]; int main() { int n,m,f,l,i,mid,z,M; while(scanf("%d%d",&n,&m),n,m) { M=0; for(i=0;i<n;i++) scanf("%d",&a[i]); while(m--) { scanf("%d",&z); f=0; l=n-1; while(1) { mid=(f+l)/2; if(z>a[mid]) f=mid+1; else if(z<a[mid]) l=mid-1; else { M++; break; } if(f>l) break; } } printf("%d\n",M); } }
标签:ast roo process \n case clear sample 思想 positive
原文地址:https://www.cnblogs.com/mayouyou/p/8996182.html