题目

问题描述:

考虑一组n个不同的正整数a1,a2,...,am,它们的值在1到1000000之间。给定一个整数x。写一个程序sumx计算这样的数对个数(ai,aj),1<=i<j<=n并且ai+aj=x。

数据输入:

标准输入的第一行是一个整数n(1<=n<=1000000)。第二行有n个整数表示元素。第三行是一个整数x(1<=x<=2000000)。

数据输出:

输出一行包含一个整数表示这样的数对个数。

注意:对于50%的测试数据,n<=1000。

输入输出样例:

sumx.in

9

5 12 7 10 9 1 2 3 11

13

sumx.out

3

解释:不同的和为13的数对是(12, 1), (10, 3)和(2, 11)。

分析

开个桶,或者排序二分

代码

 1 #include <cstdio>
 2 #include <algorithm>
 3 using namespace std;
 4 int b[1000010];
 5 int main()
 6 {
 7     freopen("sumx.in","r",stdin);
 8     freopen("sumx.out","w",stdout);
 9     int n,x,sum=0;
10     scanf("%d",&n);
11     for (int i=1;i<=n;i++)
12     {
13         int a;
14         scanf("%d",&a);
15         b[i]=a;
16     }
17     scanf("%d",&x);
18     sort(b+1,b+1+n);
19     for (int i=1;i<=n;i++)
20     {
21         int l=1,r=n,mid,c=0;
22         while (l<=r)
23         {
24             mid=(l+r)/2;
25             if (b[mid]+b[i]<=x)
26             {
27                l=mid+1; c=mid;
28             }
29             else r=mid-1;
30         }
31         if (b[c]+b[i]==x&&c!=i)
32         sum++;
33     }
34     printf("%d",sum/2);
35 }

转载于:https://www.cnblogs.com/zjzjzj/p/10699686.html

2013dgtcs 数对相关推荐

  1. 2023年你最值得了解的信息技术-AI篇(一)

    列表 85 - 其他 辽宁省 大连优联智能 自动化生产线提供商 未融资 大连优联智能是一家自动化生产线提供商,集规划设计.制造安装.系统集成.视觉检测及AI数据智能分析于一体,可为汽车车身及发动机制造 ...

  2. 伍六七带你学算法 进阶篇-三数之和

    三数之和 难度-中等 题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...

  3. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

  4. 十进制转化为二进制java代码_【模板小程序】任意长度十进制数转化为二进制(java实现)...

    妈妈再也不用担心十进制数过大了233 import com.google.common.base.Strings; import java.math.BigInteger; import java.u ...

  5. HJ86 求最大连续bit数

    描述 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 本题含有多组样例输入. 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续 ...

  6. Redis 笔记(02)— keys 键相关命令(查询数据库key数量、判断key是否存在、指定key过期时间、查看key类型、查看key剩余秒数、选择数据库、删除key、删除数据库)

    1. keys 键相关命令 命令 说明 dbsize 返回当前数据路的key数量 exists key 测试指定key是否存在 expire key seconds 为key指定过期时间 type k ...

  7. leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间

    题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...

  8. 数据类型对应的字节数

    20210622 https://www.icode9.com/content-4-421680.html 32位和64位常用数据结构所占字节数 20210126 1 2 4 8 1248 刚好都是2 ...

  9. LeetCode简单题之将整数转换为两个无零整数的和

    题目 「无零整数」是十进制表示中 不含任何 0 的正整数. 给你一个整数 n,请你返回一个 由两个整数组成的列表 [A, B],满足: A 和 B 都是无零整数 A + B = n 题目数据保证至少有 ...

最新文章

  1. python资料包-5个G的Python学习资料包:让你从零基础成编程大神!
  2. strlen() sizeof()
  3. python遍历字典方法总结
  4. 组件间数据交互||父组件向子组件传值-基本使用|| 父组件向子组件传值-props属性名规则
  5. python数学函数_「分享」关于Python整理的常用数学函数整理
  6. android studio插入数据表中没有_学Java能拿高薪吗 Java中常见排序算法有哪些
  7. 【转】dicom通讯的工作方式及dicom标准简介!!
  8. C++, ID、指针、handle (void *)的区别
  9. web虚拟服务器4核32g,Web服务器配备四核的优势
  10. echarts折线图,纵坐标数值显示不准确的问题解决
  11. thinkphp框架的优缺点
  12. 外网资源下载速度过慢的问题
  13. web安全day30:人人都要懂的LAMP--apache服务安装和配置
  14. shell基础之case应用
  15. flac批量转mp3,详细步骤
  16. 如何做一个被领导喜欢的实施顾问
  17. vs使用快捷键注销多行
  18. 移动硬盘格式化了?可以这样恢复数据
  19. 通俗解读SGD、Momentum、Nestero Momentum、AdaGrad、RMSProp、Adam优化算法
  20. 计算机学院青年教师讲课,【教学动态】计算机科学与信息工程学院举办首届中青年教师讲课大赛...

热门文章

  1. 计算机的进制数思想在哪方面有应用,计算机应用技术问答题(一)
  2. 985计算机只考数据结构,初试只考数据结构的985院校
  3. oracle 开启事务_javaSE第十四部分 JDBC(2)mysql事务和JDBC实现事务
  4. mongodb从3.2升级到4.4_人教版六年级下册数学微课视频及练习4.4.2 比例尺的应用...
  5. win8计算机配置怎么看,win8怎么看电脑配置?win8电脑配置的查看方法
  6. python代码编写_高质量Python代码编写的5个优化技巧
  7. iOS UISegmentedControl
  8. Android自定义ListView示例,以创建不可滚动的ListView
  9. VS2022找不到Microsoft.Expression.Interactions.dll
  10. 去掉windows10“更新并关机”