Dating with girls(1)(二分+map+set)
Dating with girls(1)
Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3954 Accepted Submission(s): 1228

5 4
1 2 3 4 5
8 8
1 4 5 7 8 9 2 6
5
题解:取两个数使得x+y=k;因为就两个数,所以用二分,set,map均可,若取多个的和是k就要考虑动态规划了,前面做过,上代码:
二分:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
#define mem(x,y) memset(x,y,sizeof(x))
const int INF=0x3f3f3f3f;
const double PI=acos(-1.0);
const int MAXN=;
int m[MAXN],k;
bool erfen(int l,int r,int x){
int mid;
while(l<=r){
mid=(l+r)>>;
if(x+m[mid]==k){
// printf("%d %d\n",x,m[mid]);
return true;
}
if(x+m[mid]>=k)r=mid-;
else l=mid+;
}
return false;
}
int main(){
int T,n;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&k);
for(int i=;i<=n;i++)scanf("%d",m+i);
m[]=-INF;
sort(m,m+n+);
int cnt=;
for(int i=;i<=n;i++){
if(m[i]>k||m[i]==m[i-])continue;
if(erfen(,n,m[i]))cnt++;
}
printf("%d\n",cnt);
}
return ;
}
map:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<map>
const int INF=0x3f3f3f3f;
using namespace std;
const int MAXN=;
map<int,int>mp;
int m[MAXN];
int main(){
int T,n,k;
scanf("%d",&T);
while(T--){
mp.clear();
scanf("%d%d",&n,&k);
m[]=-INF;
for(int i=;i<=n;i++){
scanf("%d",m+i);
if(!mp[m[i]])
mp[m[i]]=;
else i--,n--;
// cout<<m[i]<<mp[m[i]]<<endl;
}
int cnt=;
for(int i=;i<=n;i++){
if(m[i]>k)continue;
if(mp[k-m[i]])cnt++;
}
printf("%d\n",cnt);
}
return ;
}
set:
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<set>
const int INF=0x3f3f3f3f;
using namespace std;
const int MAXN=;
set<int>st;
int m[MAXN];
int main(){
int T,n,k,temp;
scanf("%d",&T);
while(T--){
st.clear();
scanf("%d%d",&n,&k);
for(int i=;i<n;i++){
scanf("%d",&temp);
st.insert(temp);
}
set<int>::iterator iter;
int cnt=;
for(iter=st.begin();iter!=st.end();iter++)
if(st.count(k-*iter))cnt++;
printf("%d\n",cnt);
}
return ;
}
Dating with girls(1)(二分+map+set)的更多相关文章
- 二分-B - Dating with girls(1)
B - Dating with girls(1) Everyone in the HDU knows that the number of boys is larger than the number ...
- hdu 2578 Dating with girls(1)
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2578 Dating with girls(1) Description Everyone in the ...
- hdu 2578 Dating with girls(1) 满足条件x+y=k的x,y有几组
Dating with girls(1) Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- hdu 2579 Dating with girls(2)
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2579 Dating with girls(2) Description If you have sol ...
- hdoj 2579 Dating with girls(2)【三重数组标记去重】
Dating with girls(2) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- hdu 2579 Dating with girls(2) (bfs)
Dating with girls(2) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- hdu 2578 Dating with girls(1) (hash)
Dating with girls(1) Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- HDU 3784 继续xxx定律 & HDU 2578 Dating with girls(1)
HDU 3784 继续xxx定律 HDU 2578 Dating with girls(1) 做3748之前要先做xxx定律 对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ ...
- POJ 1840 Eqs 二分+map/hash
Description Consider equations having the following form: a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0 The co ...
随机推荐
- 获取select赋值
<select class="sel-ul-add" id="xuanzhe"> <option>A</option> &l ...
- Redis是什么
Redis是什么 Redis是什么,首先Redis官网上是这么说的:A persistent key-value database with built-in net interface writte ...
- HTTP 错误 401.3 - Unauthorized由于 Web 服务器上此资源的访问控制列表(ACL)解决办法
对应站点目录的IUSR的权限没设造成的...在属性——>安全——> 高级 中把IUSR用户找出来添加好就OK了 注:IUSR(匿名访问 Internet 信息服务的内置帐户)
- C#控件TabControl隐藏page
隐藏 这个需求其实就是TABCONTROL控件会有很多提前制作好的PAGE页面,每次软件启动不可能所有页面都显示出来,目前想了个比较简单的方法解决这个问题 首先定义一个List集合存储TABCONTR ...
- 中国 省会 地级市 经纬度 city array
<?php $city_arr = array ( '北京' => array ( 'gis_lng' => '116.405285', 'gis_lat' => '39.90 ...
- hdu 4612 Warm up 有重边缩点+树的直径
题目链接 Warm up Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tot ...
- SMTP邮件传输协议发送邮件和附件
在以前接触的项目中,一直都是在做网站时用到了发送mail 的功能,在asp 和.net 中都有相关的发送mail 的类, 实现起来非常简单.最近这段时间因工作需要在C++ 中使用发送mail 的功能, ...
- 网络抓包--Wireshark
Wireshark 是一款非常棒的Unix和Windows上的开源网络协议分析器.它可以实时检测网络通讯数据,也可以检测其抓取的网络通讯数据快照文件.可以通过图形界面浏览这些数据,可以查看网络通讯数据 ...
- android小知识之EditText输入框之值监控以及类型限制(数字,英语字母,下划线,是否为星号密码)
1.设置EditText的值监听事件 . <span style="font-size:14px;color:#990000;"> EditText ed=new Ed ...
- Course(简单的字符串处理问题)
Course 时间限制:1000 ms | 内存限制:65535 KB [问题描述] There is such a policy in Sichuan University that if yo ...