【校OJ】选网线
2024-10-07 21:09:22
暑假学校OJ上的题目。
一道很有意思的二分。
题意:三个数组,每个数组各选一个数出来看是否能组成目标数。
题解:前两个数组两两的和组合一下,二分第三个数组,找是否能组成目标数。
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;
const int maxn = ; int l,n,m;
int a[maxn];
int b[maxn];
int c[maxn];
int sum[maxn];
int cnt = ; int find(int x){
for(int i = ; i <= m; i ++){
int l = ,r = cnt+;
int mid;
while( l <= r){
mid = ( l + r) >> ;
if(c[i] + sum[mid] == x){
return true;
}
else if(c[i] + sum[mid] < x){
l = mid + ;
}
else if(c[i] + sum[mid] > x){
r = mid - ;
}
}
}
return false;
} int main(){
cin>>l>>n>>m;
for(int i = ; i <= l ;i++){
cin>>a[i];
}
for(int i = ; i <= n ;i++){
cin>>b[i];
}
for(int i = ; i <= m ;i++){
cin>>c[i];
}
for(int i = ; i <= l ;i++){
for(int j = ; j <= n ;j++){
sum[cnt++] = a[i]+b[j];
}
}
sort(sum+,sum++n);
int s;
cin>>s;
while(s--){
int x;
cin>>x;
if(find(x)){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
} return ;
}
最新文章
- 来自 CORS 预检通道的 CORS 头 &#39;Access-Control-Allow-Headers&#39; 的令牌 &#39;appkey&#39; 无效)。
- 纯CSS3实现3D动画导航,html5 webRTC技术实现免费网页电话拨打
- MVC View基础(转)
- Ubuntu常用软件推荐,图文详细说明及下载
- MVVM与Knockout
- x264中的帧类型、条带类型、数据分区(data partition)
- Json 与GeoJson
- php中const与define的区别
- Android实现自动更新功能
- python22期第一天(课程总结)
- mysql下批量清空某个库下的所有表(库不要删除,保留空库)
- codeforces701C
- web漏洞扫描工具AWVS使用
- Android之使用传感器获取相应数据
- [require-js]向下滑动ajax加载的javascript实现
- odoo开发笔记 -- 视图继承扩展
- FreePascal - Typhon在Windows10 X64下的使用问题!
- (面试)写出下面switch语句的输出结果
- 【Bootloader】bootloader启动过程分析
- JDBC 连接数据库,包含连接池