题目链接【http://codevs.cn/problem/1230/】
题意:给出n个正整数,然后有m个询问,每个询问一个整数,询问该整数是否在n个正整数中出现过。
题解:很简单的一道题,可以选择用map,unordered_map,字典树等等进行映射,就可以了。也可以用pb_ds的hash_table进行映射。
#include<cstdio> #include<cstring> #include<algorithm> #include<ext/pb_ds/assoc_container.hpp>//拉链法 #include<ext/pb_ds/hash_policy.hpp>//查探法 using namespace std; using namespace __gnu_pbds; inline int read() { int r = 0; char c = getchar(); while(c < '0' || c > '9') { c = getchar(); } while(c >= '0' && c <= '9') { r = r * 10 + c - '0'; c = getchar(); } return r; } //__gnu_pbds::cc_hash_table<int,bool>mp;//拉链法 __gnu_pbds::gp_hash_table<int, bool>mp; //查探法 int N, M; int main () { N = read(); M = read(); for(int i = 1; i <= N; i++) { int t = read(); mp[t] = true; } for(int i = 1; i <= M; i++) { int t = read(); if(mp[t]) puts("YES "); else puts("NO "); } return 0; }