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

代码学习总结(五)

代码学习总结(五)

这个系列的博客是记录下自己学习代码的历程,有来自平台上的,有来自笔试题回忆的,主要基于 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. 遍历完所有的情况后,输出结果
http://www.xdnf.cn/news/250.html

相关文章:

  • cmake 语法大纲
  • 研究生面试常见问题
  • 1.Linux基础指令
  • 卷积神经网络(CNN)与VGG16在图像识别中的实验设计与思路
  • docker镜像被覆盖了怎么办?通过sha256重新上传镜像
  • VueRouter笔记
  • 6. 实战(二):用Spring AI+OpenAI构建企业级智能客服
  • LeetCode19.删除链表的倒数第N个节点
  • OpenCV图像加密和解密
  • PGSql常用操作命令
  • OBS 日期时间.毫秒时间脚本 date-and-time.lua
  • 该文件没有与之关联的程序来执行此操作
  • 图像预处理-图像噪点消除
  • 【人工智能】DeepSeek 与 RAG 技术:构建知识增强型问答系统的实战
  • 前端 实现文字打字效果(仿AI)
  • JESD204B标准及其在高速AD采集系统中的应用详解
  • 计算机网络 - 在浏览器中输入 URL 地址到显示主页的过程?
  • polkitd服务无法启动导致docker无法启动问题解决
  • pytorch基本操作2
  • Python Logger用法和说明
  • 深入解析 Python 中的装饰器 —— 从基础到实战
  • AI模型处理文件办公,机密和隐私会泄露吗?
  • 解锁规划算法:从原理到实践
  • Python 中的数据类型有哪些
  • Vue3 计算属性与侦听器深度解析:优雅处理响应式数据引言
  • 论文阅读--Orient Anything
  • PH热榜 | 2025-04-18
  • MQTTClient.c的线程模型与异步事件驱动
  • SpringBoot项目异常处理
  • AI编程方法第五弹:测试很重要