当前位置: 首页 > news >正文

代码学习总结(五)

代码学习总结(五)

这个系列的博客是记录下自己学习代码的历程,有来自平台上的,有来自笔试题回忆的,主要基于 C++ 语言,包括题目内容,代码实现,思路,并会注明题目难度,保证代码运行结果

1 小红的好数

简单 非退化三角形 快速匹配

小红定义一个数对 { x , y } \{x, y\} {x,y} 是一对“好数”,当且仅当 x ,   y ,   x ⊕ y x,\ y,\ x \oplus y x, y, xy 这三个数能作为三条边,构成一个非退化的三角形。

现在小红拿到了一个数组 { a 1 , a 2 , ⋯   , a n } \{ a_1, a_2, \cdots , a_n \} {a1,a2,,an},她希望你求出有多少对下标 ( i , j ) (i, j) (i,j) 满足 1 ≤ i < j ≤ n 1 ≤ i < j ≤ n 1i<jn,且对应的值 { a i , a j } \{ a_i,a_j \} {ai,aj} 是一对“好数”。

在这里, ⊕ \oplus 表示位运算中的按位异或操作。

输入描述
第一行输入一个正整数 n \boldsymbol{n} n ,代表数组大小
第二行输入 n \boldsymbol{n} n 个正整数 a i \boldsymbol{a_i} ai,代表数组的元素
1 ≤ n ≤ 1 0 5 1 \leq n \leq 10^5 1n105
1 ≤ a i ≤ 1000 1 \leq a_i \leq 1000 1ai1000

输出描述
一个整数代表满足 { a i , a j } \{ a_i, a_j \} {ai,aj} 是好数的 ( i , j ) (i, j) (i,j) 对儿数。

示例输入输出 1:
输入
4
2 3 4 5
输出:1

思路解析:

  1. 首先,非退化三角形是指,两边之和大于第三边的三角形
  2. 那么,就是直接对数组进行遍历,以三角不等式对给定的 2 个数字进行判断,是否符合定律,如果符合,好数对 +1
  3. 遍历完所有的情况后,输出结果

相关文章:

  • spring中如何在一个插入操作执行成功后在执行另一个操作
  • Word 中“母版页”的等效机制
  • pip list | grep paho-mqtt 如何查看这个包的保存路径
  • C++学习:六个月从基础到就业——面向对象编程:接口设计
  • 新手避坑+高效入门:用 DeepSeek 从零攻克编程与网站搭建
  • Docker容器虚拟化存储架构
  • 数据结构之稀疏矩阵与三元组表示法
  • 树莓派超全系列教程文档--(31)config.txt常用选项介绍
  • 游戏一:俄罗斯方块简易版
  • vue3+element-ui-plus+el-table样式
  • 基于WebRTC技术的EasyRTC:支持任意平台设备的实时音视频通信解决方案
  • git本地项目上传github
  • 数字图像处理(膨胀与腐蚀)
  • 如何模拟浏览器行为获取网页中的隐藏表单数据?
  • 5.0.2 颜色16进制格式含义 控件template中path的使用
  • Oracle AWR快照保留策略及其修改
  • 通过特定协议拉起 electron 应用
  • 今日多肽之——订书肽
  • Linux网络通信核心机制解析与层级架构探秘
  • J值即正义——Policy Gradient思想、REINFORCE算法,以及贪吃蛇小游戏(三)
  • 都市文化·商业演剧·海派艺术:早期上海话剧商演发展新探索
  • 俄乌就不打击民用基础设施释放对话信号
  • 现货黄金价格站上3400美元,今年迄今累涨逾29%
  • 从沙漠到都市:贝亲世界地球日特别行动,以桃叶冰爽力开启地球降温之旅
  • 纪念沈渭滨︱沈渭滨先生与新修《清史》
  • 全球前瞻|中国印尼举行首次“2+2”部长级会议,美乌将签署矿产协议