【noiOJ】p1794
2024-10-10 19:31:03
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);
}
}
最新文章
- CSS3 justify 文本两端对齐
- C#------获取最后一个";/";字符后面的所有内容
- Android学习笔记(一)&mdash;&mdash;安卓开发环境搭建
- VS快捷键的简单总结
- flex&;bison 1
- 关于百度地图API的地图坐标转换问题
- jQuery判断浏览器
- SpringMVC、SpringMVC XML配置(纯XML方式)
- python模块介绍- HTMLParser 简单的HTML和XHTML解析器
- 无线hacking系统—wifislax
- reids数据类型
- 20165226 预备作业3 Linux安装及学习
- CentOS系统/tmp目录里面的文件默认保留多久
- playframework 一步一步来 之 日志(一)
- 3-D crustal model transfer to cdl format
- day2-作业及答案
- Servlet笔记10--Session
- 使用Htmlhelper,创建文本框TextBox
- PHP write byte array to file
- laravel 整合 swoole ,并简单 ab 测试对比性能以及在 PHPstorm 中利用debug调试配置swoole服务中的PHP代码
热门文章
- JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)
- A-B 练习【大数减法举例】
- [LeetCode] Implement strStr()
- slf4i + logback 配置
- [Tools] 远程登录surface字体过大解决方法
- 【java基础】选择排序and冒泡排序
- Android Studio在导入eclipse的项目时一直卡在gradle:Configure project
- 【转】saiku与kylin整合备忘录
- Android拓展系列(10)--使用Android Studio阅读整个Android源码
- IComparer 指定排序。