差分
文章平均质量分 57
差分算法类题解。
csu_xiji
这个作者很懒,什么都没留下…
展开
-
acwing 246 区间最大公约数 线段树+树状数组+差分
https://www.acwing.com/problem/content/247/?time=1564925894116给定一个长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“C l r d”,表示把 A[l],A[l+1],…,A[r] 都加上 d。2、“Q l r”,表示询问 A[l],A[l+1],…,A[r] 的最大公约数(GCD)。对于每个询问,输出一个整数...原创 2019-08-05 00:01:51 · 385 阅读 · 0 评论 -
洛谷 P3368 树状数组 差分树状数组
https://www.luogu.org/problem/P3368题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数数加上x2.求出某一个数的值输入格式第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含2或4个整数,表示一个操作,具体如下:操作1: 格...原创 2019-10-18 16:02:16 · 99 阅读 · 0 评论 -
HDU 6273 Master of GCD(CCPC2017杭州) 思维+差分
http://acm.hdu.edu.cn/showproblem.php?pid=6273题目大意:TTT组数据,每组数据nnn个整数,mmm个操作,nnn个整数初始都为111,每次操作可以选取一个区间[l,r][l,r][l,r],把这个区间的数都乘上xxx,简单起见,xxx的取值只有2、32、32、3两种情况,问mmm次操作之后,这nnn个整数的最大公因数。思路:可以用线段树,但没必要。...原创 2019-10-20 16:07:01 · 207 阅读 · 0 评论 -
力扣 995. K 连续位的最小翻转次数 模拟 差分 思维
https://leetcode-cn.com/problems/minimum-number-of-k-consecutive-bit-flips/思路:想法很简单,从前往后遍历,如果某个位置不是111,就从这个位置开始向后翻转。但是如果暴力写的话,复杂度可能会达到O(nk)O(nk)O(nk),喜提一发TLETLETLE,比如下面这份代码:class Solution {public: int minKBitFlips(vector<int>& A, int K) {原创 2021-02-18 16:31:53 · 203 阅读 · 0 评论 -
力扣 1109. 航班预订统计 差分
https://leetcode-cn.com/problems/corporate-flight-bookings/思路:最简单的想法,遍历每个区间修改座位数,那么总复杂度可能达到O(n2)O(n^2)O(n2),大概率会超时。如果你学过线段树/树状数组的话,也可以用O(nlgn)O(nlgn)O(nlgn)的复杂度解决这个问题,就是一个区间修改和单点查询嘛。但是我们有更加巧妙的复杂度为O(n)O(n)O(n)的差分算法。假设最终所求数组为ansansans,我们可以计算其差分数组:diff0=a0,原创 2021-09-01 00:59:54 · 182 阅读 · 0 评论