洛谷P1102 A-B 数对题解

【题解-洛谷】P1102 A-B 数对 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!的数对的个数(不同位置的数字一样的数对算不同的数对)。给出一串正整数数列以及一个正整数。个正整数,作为要求处理的那串数。一行,表示该串正整数中包含的满足。2017/4/29 新添数据两组。出题是一件痛苦的事情!,要求计算出所有满足。 阅读详情

题目

A-B 数对

题目背景

出题是一件痛苦的事情!

相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!

题目描述

给出一串正整数数列以及一个正整数 C C C,要求计算出所有满足 A − B = C A - B = C A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。

输入格式

输入共两行。

第一行,两个正整数 N , C N,C N,C。

第二行, N N N 个正整数,作为要求处理的那串数。

输出格式

一行,表示该串正整数中包含的满足 A − B = C A - B = C A−B=C 的数对的个数。

样例 #1

样例输入 #1

4 1
1 1 2 3

样例输出 #1

3

提示

对于 75 % 75\% 75% 的数据, 1 ≤ N ≤ 2000 1 \leq N \leq 2000 1≤N≤2000。

对于 100 % 100\% 100% 的数据, 1 ≤ N ≤ 2 × 1 0 5 1 \leq N \leq 2 \times 10^5 1≤N≤2×105, 0 ≤ a i < 2 30 0 \leq a_i <2^{30} 0≤ai​<230, 1 ≤ C < 2 30 1 \leq C < 2^{30} 1≤C<230。

2017/4/29 新添数据两组

传送门

https://www.luogu.com.cn/problem/P1102

代码

#include<bits/stdc++.h> // 包含所有常用的库文件
using namespace std;
long long n,c,a[200005],ans; // 声明变量

int main() {
    map<int,int> m; // 创建一个空的映射对象 (map),用于统计元素个数
    cin >> n >> c; // 从标准输入读取n和c的值

    for(int i = 1; i <= n; i++) { // 从1循环到n
        cin >> a[i]; // 从标准输入读取一个整数,并赋值给数组a的第i个元素
        m[a[i]]++; // 使用映射对象m统计数组a中每个元素的个数
    }

    for(int i = 1; i <= n; i++) {
        ans += m[a[i] + c]; // 使用映射对象m查询数组a中与当前元素a[i]相差c的元素个数,并累加到变量ans中
    }

    cout << ans << endl; // 输出结果ans到标准输出
    return 0; // 程序正常结束的返回语句
}

解释

  1. #include<bits/stdc++.h>:这是一个预处理指令,用于将所有常用的库文件包含进来,省去了手动添加每个库文件的麻烦。

  2. using namespace std;:使用了std命名空间,这样就可以直接使用C++标准库的函数和对象,而无需前缀std::。

  3. long long n, c, a[200005], ans;:声明了整数变量n、c,一个长整型数组a,和一个长整型变量ans。

  4. int main() {:程序的入口函数。

  5. map<int,int> m;:创建了一个名为m的map对象,键类型为整数int,值类型也为整数int。

  6. cin >> n >> c;:从标准输入读取两个整数n和c,分别赋值给变量n和c。

  7. for(int i = 1; i <= n; i++) {:循环n次,每次执行以下代码块。

  8. cin >> a[i];:从标准输入读取一个整数,并将其赋值给数组a的第i个元素。

  9. m[a[i]]++;:将数组a的第i个元素的值作为键,对应的映射值加1。

  10. for(int i = 1; i <= n; i++) ans += m[a[i] + c];:循环n次,每次执行以下代码块。计算a[i] + c得到的值作为键,在map对象m中查找对应的映射值,并将其加到ans变量上。

  11. cout << ans << endl;:将ans的值输出到标准输出。

  12. return 0;:程序正常结束的返回语句。

这段代码通过使用map数据结构来统计数组a中特定元素的个数,并根据给定的差值c计算符合条件的组合个数,并将结果输出。

亲测

亲测 AC
在这里插入图片描述

P1102 A-B 数对洛谷c++题解 P1102 A-B 数对 题目描述 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 好吧,题目是这样的:给出一串数以及一个数字 CC,要求计算出所有 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输入格式 输入共两行。 第一行,两个整数 N, CN,C。 第二行,NN 个整数,作为要求处理的那串数。 输出格式 一行,表示该串数中包含的满足 A - B = CA−B=C 的数对的个数。 输 阅读详情

相关推荐

题解:洛谷 P1102 A-B 数对

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。的数对的个数(不同位置的数字一样的数对算不同的数对)。给出一串正整数数列以及一个正整数。个正整数,作为要求处理的那串数。一行,表示该串正整数中包含的满足。#普及-# #整数二分#本文分享的必刷题目是从。,要求计算出所有满足。

团爸讲算法 416

寒假每日一题之 A-B问题

lower_bound(a,a+n,x)-a //下标从0开始lower_bound(a+1,a+n+1,x)-a //下标从1开始它们就能取得最小的a数组的下标i,满足ai​⩾x。upper_bound(a,a+n,x)-a //下标从0开始upper_bound(a+1,a+n+1,x)-a //下标从1开始它们就能取得最小的a数组的下标i,满足ai​>x。那他如何来解这道题呢?我们发现,如果这个数组是有序的,那么对于每一个A的值,在它的后方就只有一个数值B满足A,B的差值为C。

2301_79712654的博客 744

Innovus每日精要 | 用setScanReorderMode优化扫描链,效率翻倍!

在数字后端物理设计的世界里,扫描链优化就像修路一样,既要保证数据流的顺畅,又要尽量减少绕路和资源浪费。它的主要任务是优化扫描链的连接方式,确保数据能快速、安全地流动。无论是多电压域设计、分区设计,还是复杂的逻辑门,它都能帮你搞定。后,你会发现它不仅能帮你节省时间,还能让你的设计更优雅、更高效。下次遇到扫描链问题时,不妨试试这些技巧,说不定你的设计效率会翻倍!,它能帮你搞定扫描链优化的那些事儿,让你的设计更高效、更优雅。接下来,我们看看这个命令的几个关键选项,以及它们的实际用途。扫描链优化看似枯燥,但掌握。

weixin_50820814的博客 1444

P1102 A-B 数对(详解)

A-B 数对 题目背景 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 题目描述 给出一串正整数数列以及一个正整数 CC,要求计算出所有满足 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。

m0_62881629的博客 4000

汇付天下聚合支付自助接入全流程详解(附JAVA/非JAVA环境配置指南)

本文详细解析了汇付天下聚合支付的自助接入全流程,涵盖JAVA与非JAVA环境下的实战配置。从接入前准备、架构理解、密钥获取,到JAVA SDK集成、核心支付代码拆解,以及Node.js/Python等环境的裸接口对接、签名生成与异步通知处理,提供了完整的避坑指南和上线检查清单,帮助开发者高效、稳健地完成支付系统集成。

wdx01234567的博客 525

feko金属球远场RCS双站

feko金属球远场RCS双站

a264672的博客 6914

洛谷 P1102 A-B 数对 C++ 二分法 (排序,去重)

题目描述 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 好吧,题目是这样的:给出一串数以及一个数字 C,要求计算出所有 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输入格式 输入共两行。 第一行,两个整数N,C。 第二行,N个整数,作为要求处理的那串数。 输出格式 一行,表示该串数中包含的满足 A−B=C 的数对的个数。 输入输出样例 输入 #1复制 4 1 1 1 2 3

Prudento的博客 6368

从LLaMA到LLaMA-MoE:轻量级混合专家模型构建与实战指南

混合专家(Mixture-of-Experts, MoE)是一种先进的神经网络架构,其核心原理是通过门控网络动态地为不同输入选择不同的专家子网络进行计算,从而实现模型容量的指数级扩展,同时保持推理时的计算量基本不变。这种稀疏激活的特性赋予了MoE极高的技术价值,使其成为解决大模型训练与推理成本矛盾的关键技术之一,在自然语言处理、多模态学习等场景中展现出巨大潜力。本文聚焦于**LLaMA-MoE**这一具体实践,深入探讨了如何基于成熟的稠密模型(如LLaMA),通过**专家构建**与**持续预训练**两大关键

weixin_28730549的博客 565

P1102 A-B 数对

[题目描述] 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 好吧,题目是这样的:给出一串数以及一个数字 C,要求计算出所有 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 [输入格式] 输入共两行。 第一行,两个整数 N,C。 第二行,N 个整数,作为要求处理的那串数。 [输出格式] 一行,表示该串数中包含的满足 A−B=C 的数对的个数。 [输入样例] 输入 #1 4 1 1 1 2 3 [输出样例].

includestd的博客 589

TI单芯片毫米波雷达1642demo代码走读(一)

今天我们来实际看下代码。 首先使用CCS软件导入demo工程,工程有两个,一个是ARM的工程,工程名是mmw_mss_16xx;另一个是DSP的工程,工程名为mmw_dss_16xx。我们将这两个工程的主函数打开,分别位于mss_main.c和dss_main.c文件中。 先看mss的主函数,代码如下。我为每行代码都加了中文注释和自己的理解。 int main (void) { Task_Params taskPara...

1万+

密码学与信息安全面试题及参考答案(2万字长文)

密码学是一门研究信息安全的学科,它涉及加密、解密以及保护数据免受非授权访问的技术和方法。这门学科的核心在于设计并分析各种协议,使通信双方即使在存在潜在敌手的环境中也能安全地传输信息。保密性:确保信息只能被预期的接收方读取,阻止未经授权的第三方获取信息的真实内容。完整性:保证数据在传输过程中不被篡改,确保接收方接收到的信息与发送方发送的信息完全一致。认证性:验证信息的来源,即确认信息确实是由声称的发送方发出的。不可否认性:确保发送方不能在事后否认曾经发送过某条信息。访问控制。

大模型大数据攻城狮的专栏 1995

【2024暑训】洛谷P1102 A-B数对&二分查找的一些感想

暑训散训-洛谷P1102“A-B数对”题解&二分查找的一些想法

2301_79620132的博客 1251

从0到1用OpenClaw打造酒店收益管理系统:数据整合→AI策略迭代全链路落地实战

本文基于三亚某连锁海景酒店真实项目落地经验编写,系统上线3个月,酒店平均入住率从62%提升至80%,RevPAR(平均可售房收入)提升26%,淡季空置率降低46%,完全覆盖中小酒店全场景收益管理需求。本文配套OpenClaw全量Skill代码、工作流配置文件,可直接复用落地。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 494

洛谷:P1102 A-B 数对 Java题解

题目要求我们计算数列中所有满足A - B = C的数对个数,其中A和B都是数列中的元素,且不同位置的相同数字被视为不同的数对。:O(N),其中N是数列的长度。我们进行了两次线性遍历:一次统计频率,一次计算结果。该解法高效且简洁,能够很好地处理题目给定的数据范围(1 ≤ N ≤ 2×10^5)。:O(N),用于存储哈希表。

Java爱好者,热爱分享,信仰开源! 221

【AutoSAR】【WdgM】WdgM安全管理模块

一、WdgM在AutoSAR里的整体架构 WdgM是在autosar架构里位于服务层的一个基础软件模块;主要监督程序的执行; 主要包括三个模块: 看门狗管理器(WdgM) 看门狗接口(WdgIf) 看门狗驱动(Wdg) 二、三种监督机制 Alive监控-------主要监控周期性软件程序的时间 DeadLine监控-------主要监控非周期软件程序 程序流监控-------主要监控程序流执行的正确性 三、基于全局状态的检测流程 受监管实体(SE):Supervised Ent

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 2993

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

洛谷 P1102 A-B 数对 题解

A-B 数对 题解 洛谷 P1102 题目 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 好吧,题目是这样的:给出一串数以及一个数字 C,要求计算出所有 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输入 输入共两行。 第一行,两个整数 N,C。 第二行,N 个整数,作为要求处理的那串数。 输出 一行,表示该串数中包含的满足 A−B=C 的数对的个数。 样例 input 4 1 1 1 2 3

Y的博客 848

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

洛谷-P1102 A-B 数对-题解与反思

给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。4 11 1 2 33对于 75% 的数据,1≤N≤2000。对于 100% 的数据,1≤N≤,0≤ai​<,1≤C<。很容易想到暴力法:直接枚举A,B,算出C,再看是否为C,找得到就将answer++明显,暴力法的时间复杂度为O((枚举A的复杂度为n,枚举B的时间复杂度也为n,因为数列中的每一个数都可能成为A或B)回答注释中的问题:1≤C<

ghhvhgvugft的博客 684

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

洛谷 P1102 A-B 数对 题解

洛谷 P1102 A-B 数对 题解

小 P 的博客 357

洛谷题解——P1102:A-B 数对

题目相关 题目链接 洛谷,https://www.luogu.com.cn/problem/P1102。 我的OJ,http://47.110.135.197/problem.php?id=4759。 题目描述 给出一串数以及一个数字C,要求计算出所有A - B = C 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输入格式 输入共两行。 第一行,两个整数N, C。 第二行,N个整数,作为要求处理的那串数。 输出格式 一行,表示该串数中包含的满足A−B=C的数对的...

努力中的老周的专栏 2955

【洛谷题解】P1102 A-B数对

题目概况 题目链接: https://www.luogu.com.cn/problem/P1102 难度: 普及- 题目分析 简化题目: 找出给定数组中有多少对满足A-B=C的数对 涉及知识点: 基础语法、map映射 解题思路: 看似简单,其实呢,很简单。 我们可以学习一位大佬的思路 ,将A-B=C的问题转化为A-C=B 先统计数组中各个元素出现的次数,同时把他们都减C,那么剩下的便是结果B,然后我们再循环一遍,统计B的个数。时间复杂度O(n),妙哉 代码拆解及要点分析 这么简单,拆解这种东西就大可不必了

lovely_cyqの小窝 605

【洛谷题解】P1102 A-B 数对

的值,然后用二分找出 B B B…的开始位置和结束位置,相减就得到了。的数对的个数(不同位置的数字一样的数对算不同的数对)。给出一串正整数数列以及一个正整数。个正整数,作为要求处理的那串数。一行,表示该串正整数中包含的满足。2017/4/29 新添数据两组。,要求计算出所有满足。使用二分搜索,对每个。

XcantloadX的博客 963

[ 题解] 洛谷P1102 A-B 数对

给出一串正整数数列以及一个正整数C,要求计算出所有满足A−BC的数对的个数(不同位置的数字一样的数对算不同的数对)。

qq_43481887的博客 636

【题解】【洛谷P1102】【二分、哈希map、双指针】——A-B 数对

相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!把这个序列排序后,这个序列就有单调性了。上面的代码之所以复杂度高,是因为有两重循环,同时枚举。的值域过大,用数组不太方便。的数对的个数(不同位置的数字一样的数对算不同的数对)。本身就可以看做一个比较智能的,下标为任意数据类型的数组。可能没有,也可能有多个),然后累加到答案中去即可。想到统计一个数的出现次数,自然也可以想到“根据双指针,先排序,枚举每一个位置的。读者可以详细的比较其异同,这里不多赘述。

Pantheraonca的博客 172

【洛谷 P1102】A-B 数对 题解(映射)

出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!

HEX9CF的技术博客 381
上一篇: 你的第1个 Unity 游戏!!!
下一篇: 洛谷P5732 【深基5.习7】杨辉三角题解
Python_enjoy
博客等级 码龄4年 1201粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值