HDOJ2141(map在二分搜索中的应用)
2015-08-30 11:50
302 查看
#include<iostream> #include<cstdio> #include<map> #include<algorithm> using namespace std ; #define M 500 + 10 int a[M] ; int b[M] ; int c[M] ; int d[M] ; int l ; int n ; int m ; map <int , bool > Map ; void Marge() { for(int i = 0 ;i < l ; ++ i) for(int j = 0 ;j < n ; ++ j) Map[a[i] + b[j]] = 1 ; } bool Check(int x) { int tem ; for(int i = 0 ;i <l ; ++ i) { tem = x - c[i] ; if(Map.count(tem)) return true ; } return false ; } int main() { int s ; int x ; int T = 1 ; while(scanf("%d%d%d",&l ,&n , &m) != EOF ) { for(int i = 0 ;i < l ; ++ i) scanf("%d",a + i) ; for(int i = 0 ;i < n ; ++ i) scanf("%d",b + i) ; for(int i = 0 ;i < m ; ++ i) scanf("%d",c + i) ; scanf("%d",&s) ; printf("Case %d:\n",T ++) ; Marge() ; while(s --) { scanf("%d",&x) ; if(Check(x)) puts("YES") ; else puts("NO") ; } Map.clear() ; } return 0 ; }
标准二分搜索代码:
#include<iostream> #include<cstdio> #include<algorithm> using namespace std ; const int MAX_N=500; int a[MAX_N]; int b[MAX_N]; int c[MAX_N]; int d[MAX_N*MAX_N]; int l, n, m, s; int main() { int t=0; while(scanf("%d %d %d",&l, &n, &m)!=EOF) { for(int i=0; i<l; i++) { scanf("%d",&a[i]); } for(int i=0; i<n; i++) { scanf("%d",&b[i]); } for(int i=0; i<m; i++) { scanf("%d",&c[i]); } for(int i=0; i<l; i++) { for(int j=0; j<n; j++) { d[i*n+j]=a[i]+b[j]; } } sort(d,d+l*n); scanf("%d",&s); printf("Case %d:\n",++t); while(s--) { int x; scanf("%d",&x); bool flag=false; for(int i=0; i<m; i++) { if(binary_search(d,d+l*n,x-c[i])) { flag=true; break; } } if(flag) { puts("YES"); } else { puts("NO"); } } } return 0 ; }
相关文章推荐
- github使用中的一些问题
- 【NROS-01】Bootloader 引导操作系统
- c++ primer读书笔记之c++11(一)
- 本周总结
- sublime Text3 3083的安装及常用配置
- 3.1-Mysql的root密码重置
- 获取数据库中表名
- STM32F4——定时器原理及应用(中断、输入捕获、PWM输出)
- HDU 1236 排名(水~)
- ORB-SLAM(1) --- 让程序飞起来
- UVa 10868 - Bungee Jumping(物理公式)
- Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)
- 新学校,新感受
- 使用ssh连接中文版linux时候出现乱码的解决方法
- Java 语言中 List、Set 和 Map 的区别
- 【bzoj3505】【CQOI2014】【数三角形】【组合数学】
- HTML初步,编写简历页面。
- ContentProvider的自定义及SMS和CONTACTS的内容提供者
- 360 搜索到底拐走了 Google 多少流量?
- 字符串的复制