t1794:集合加法

总时间限制: 
3000ms

内存限制: 
65536kB
描述
给出2个正整数集合A = {pi | 1 <= i <= a},B = {qj | 1 <= j <= b}和一个正整数s。问题是:使得pi+ qj = s的不同的(i, j)对有多少个。
输入
第1行是测试数据的组数n,后面跟着n组测试数据。

每组测试数据占5行,第1行是和s (1 <= s <= 10000),第2行是一个正整数a (1 <= a <= 10000),表示A中元素的数目。第3行是a个正整数,每个正整数不超过10000,表示A中的元素。第4行是一个正整数b (1 <= b <= 10000),表示B中元素的数目。第5行是b个正整数,每个正整数不超过10000,表示B中的元素。

注意:这里的集合和数学书上定义的集合有一点点区别——集合内可能包含相等的正整数。

输出
n行,每行输出对应一个输入。输出应是一个非负整数。
样例输入
2
99
2
49 49
2
50 50
11
9
1 2 3 4 5 6 7 8 9
10
10 9 8 7 6 5 4 3 2 1
样例输出
4
9
 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n1,n,m;
int i,j,t;
int nowx,ans,x;
int a[+],b[+],ha[+];
int main()
{
int left,right,mid;
scanf("%d",&n1);
for (i=;i<=n1;i++)
{
memset(a,,sizeof(a));
memset(b,,sizeof(b));
memset(ha,,sizeof(ha));
ans=; t=;
scanf("%d",&x);
scanf("%d",&n);
for (j=;j<=n;j++)
scanf("%d",&a[j]);
scanf("%d",&m);
for (j=;j<=m;j++)
scanf("%d",&b[j]);
sort(a+,a+n+);
sort(b+,b+m+);
for (j=;j<=m;j++)
if (b[j]!=b[j-])
{
ha[j-]=t;
t=;
}
else
t++;
ha[m]=t;
for (j=;j<=n;j++)
{
nowx=x-a[j];
left=; right=m;
while (right-left>)
{
mid=(left+right)>>;
if (b[mid]<=nowx)
left=mid;
else
right=mid;
}
if (b[left]==nowx && ha[left]!=)
ans+=ha[left];
if (b[right]==nowx)
ans+=ha[right];
}
printf("%d\n",ans);
}
}

最新文章

  1. CSS3 justify 文本两端对齐
  2. C#------获取最后一个&quot;/&quot;字符后面的所有内容
  3. Android学习笔记(一)&mdash;&mdash;安卓开发环境搭建
  4. VS快捷键的简单总结
  5. flex&amp;bison 1
  6. 关于百度地图API的地图坐标转换问题
  7. jQuery判断浏览器
  8. SpringMVC、SpringMVC XML配置(纯XML方式)
  9. python模块介绍- HTMLParser 简单的HTML和XHTML解析器
  10. 无线hacking系统—wifislax
  11. reids数据类型
  12. 20165226 预备作业3 Linux安装及学习
  13. CentOS系统/tmp目录里面的文件默认保留多久
  14. playframework 一步一步来 之 日志(一)
  15. 3-D crustal model transfer to cdl format
  16. day2-作业及答案
  17. Servlet笔记10--Session
  18. 使用Htmlhelper,创建文本框TextBox
  19. PHP write byte array to file
  20. laravel 整合 swoole ,并简单 ab 测试对比性能以及在 PHPstorm 中利用debug调试配置swoole服务中的PHP代码

热门文章

  1. JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
  2. A-B 练习【大数减法举例】
  3. [LeetCode] Implement strStr()
  4. slf4i + logback 配置
  5. [Tools] 远程登录surface字体过大解决方法
  6. 【java基础】选择排序and冒泡排序
  7. Android Studio在导入eclipse的项目时一直卡在gradle:Configure project
  8. 【转】saiku与kylin整合备忘录
  9. Android拓展系列(10)--使用Android Studio阅读整个Android源码
  10. IComparer 指定排序。