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

2563.统计公平数对的数目 是否顺序无关?

2563.统计公平数对的数目

在这里插入图片描述
在这里插入图片描述

  • 观察这个数据的范围,虽然数据范围很大,但是一共就只有10^5个数字,可以考虑通过离散化把数字的范围控制在3*10^5,但是对于原来的形式lower <= nums[i] + nums[j] <= upper,对于一个nums[j]来说,就得考虑前面的所有的nums[j]的情况,在这里有一个方法,那就是树状数组,用一个值域树状数组用于统计这个区间和,但是发现还是无法避免需要一个个统计nums[i],i<j的情况
  • 那么是否可以通过排序,使用二分的算法进行求解?o(nlong),我们通过将公式变形,去证明这个公式是顺序无关的
  • 观察这个原来的形式
        # lower <= nums[i] + nums[j] <= upper
  • 原本的形式是求解在这个nums[j]的时候,需要一个个枚举前面的nums[i]的情况
    可以通过移项得到:
        #公式1 lower - nums[i] <= nums[j] <= upper - nums[i]#公式2 lower - nums[j] <= nums[i] <= upper - nums[j]
  • 这样求解的形式就分开来了,虽然有要求这个i<j,但是这个形式就算是我们求解当前的是nums[j],它的贡献值是前面的i<j的全部满足公式1的情况,当然前后是相对的,它对后面的贡献值是满足公式2的全部情况,所以,综合考虑,这个题目的本质只是统计出两个不同位置满足这个公式的数对,所以是顺序无关的
import bisect
class Solution:def countFairPairs(self, nums: List[int], lower: int, upper: int) -> int:# 二分的思路# 转换公式的形式之后,你会发现这是一个顺序无关的问题?为什么?下面的公式是对于i,j都是一样的,也就是只用选出两个数即可# lower - nums[i] <= nums[j] <= upper - nums[i]# lower - nums[j] <= nums[i] <= upper - nums[j]nums.sort()ans = 0for i,num in enumerate(nums):indexl = bisect.bisect_left(nums,lower-num,0,i)index2 = bisect.bisect_right(nums,upper-num,0,i)ans += index2 - indexlreturn ans 
http://www.xdnf.cn/news/421.html

相关文章:

  • 【java实现+4种变体完整例子】排序算法中【希尔排序】的详细解析,包含基础实现、常见变体的完整代码示例,以及各变体的对比表格
  • Java 内存优化:如何避免内存泄漏?
  • 系分架构论文《论高并发场景的架构设计和开发方法》
  • REST 架构详解:从概念到应用的全面剖析
  • Vue3 + Three.js 场景编辑器开发实践
  • jangow靶机笔记(Vulnhub)
  • LeetCode 1365. 有多少小于当前数字的数字 java题解
  • phpy通用扩展:让PHP和Python手拉手
  • 基于SFC的windows修复程序,修复绝大部分系统损坏
  • 如何0基础学stm32?
  • 【操作系统原理01】操作系统引论
  • vue生命周期
  • 安徽合肥京东自营代运营如何突围?
  • 【网络技术_域名解析DNS】三、DNS 中间件实践应用与优化策略
  • Docker Swarm 容器与普通 Docker 容器的网卡差异
  • RTMP握手流程
  • 18、TimeDiff论文笔记
  • 用usb网卡 虚拟机无法开到全双工的解决办法
  • CUDA编程中影响正确性的小细节总结
  • mysql的函数(第一期)
  • [每周一更]-(第140期):sync.Pool 使用详解:性能优化的利器
  • 【漫话机器学习系列】211.驻点(Stationary Points)
  • opencv--图像处理
  • [密码学基础]GMT 0029-2014签名验签服务器技术规范深度解析
  • 性能比拼: Elixir vs Go(第二轮)
  • [密码学基础]密码学发展简史:从古典艺术到量子安全的演进
  • 免费多平台运行器,手机畅玩经典主机大作
  • 【数据结构】励志大厂版·初阶(复习+刷题)单链表
  • 简单线段树的讲解(一点点的心得体会)
  • 开发基于python的商品推荐系统,前端框架和后端框架的选择比较