算法技巧-差分
文章平均质量分 88
介绍差分的使用
memcpy0
希望探索文理结合的自由之路。
展开
-
LeetCode 2960. 统计已测试设备【差分思想】简单
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。。原创 2024-05-10 01:52:01 · 408 阅读 · 0 评论 -
LeetCode 731. My Calendar II【设计,有序映射,差分;线段树】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件,我还建立了相关的。原创 2023-09-10 20:07:43 · 346 阅读 · 0 评论 -
LeetCode 1893. Check if All the Integers in a Range Are Covered【数组/差分】简单
You are given a 2D integer array ranges and two integers left and right. Each ranges[i] = [starti, endi] represents an inclusive interval between starti and endi.Return true if each integer in the inclusive range [left, right] is covered by at least one i原创 2021-06-15 22:30:29 · 273 阅读 · 1 评论 -
LeetCode 732. My Calendar III【设计,有序映射,差分;线段树】困难
A k-booking happens when k events have some non-empty intersection (i.e., there is some time that is common to all k events.)You are given some events [start, end), after each given event, return an integer k representing the maximum k-booking between all原创 2021-05-16 03:19:03 · 393 阅读 · 1 评论 -
LeetCode C++ 1094. Car Pooling【Difference】中等
You are driving a vehicle that has capacity empty seats initially available for passengers. The vehicle only drives east (ie. it cannot turn around and drive west.)Given a list of trips, trip[i] = [num_passengers, start_location, end_location]&原创 2021-05-16 02:50:44 · 325 阅读 · 0 评论 -
LeetCode 1109. Corporate Flight Bookings【差分/树状数组/线段树】中等
There are n flights that are labeled from 1 to n.You are given an array of flight bookings bookings, where bookings[i] = [firsti, lasti, seatsi] represents a booking for flights firsti through lasti (inclusive) with seatsi seats reserved for each flight i原创 2021-05-15 17:57:12 · 213 阅读 · 0 评论 -
LeetCode C++ 1854. Maximum Population Year【Array/Difference】简单
You are given a 2D integer array logs where each logs[i] = [birthi, deathi] indicates the birth and death years of the ith person.The population of some year x is the number of people alive during that year. The ith person is counted in year x's populatio原创 2021-05-13 21:46:55 · 198 阅读 · 1 评论 -
LeetCode C++ 1589. Maximum Sum Obtained of Any Permutation【差分/前缀和/贪心/排序】中等
有一个整数数组 nums ,和一个查询数组 requests ,其中 requests[i] = [starti, endi] 。第 i 个查询求 nums[starti] + nums[starti + 1] + … + nums[endi - 1] + nums[endi] 的结果 ,starti 和 endi 数组索引都是 从 0 开始 的。你可以任意排列 nums 中的数字,请你返回所有查询结果之和的最大值。由于答案可能会很大,请你将它对 109 + 7 取余 后返回。示例 1:输入:nums原创 2020-09-21 15:40:23 · 207 阅读 · 0 评论 -
【算法学习】算法技巧之差分 一维、二维差分的实现与应用
文章目录一、差分介绍与代码模板二、从差分到原数组三、差分的应用【区间加】四、差分应用拓展【区间加等差+单点查询】一、差分介绍与代码模板如果我们需要维护的数据是“两个相邻数据之差”,这就是差分。令di=ai−ai−1d_{i}=a_{i}-a_{i-1}di=ai−ai−1,则称ddd是aaa的差分数组。也可以写成Δai=ai−ai−1\Delta a_{i} = a_{i} - a_{i...原创 2020-03-01 17:43:22 · 1082 阅读 · 0 评论