差分前缀和
sunnyorrainy
这个作者很懒,什么都没留下…
展开
-
和不为0的子数组个数
题意:题目链接给一个数组,求它的子数组x,x的所有的子数组的和都不为0。输出x的个数, 子数组是原数组的子集,但是不能改变原数组的顺序。思路: 这个题应该是用前缀和做,但是需要计数,计数就是最重要的事情。用一个map记录前缀和出现的最右位置。只要一个区间和为0了,那么这个区间后面的数,就肯定不行了。所有只需要考虑前面的。如果有前缀和已经出现过了,那么就说明区间的和为0了。用L表示最右的左边界,每次计算需要增加的数(i-L)就可以了。#pragma warning(...原创 2020-07-08 10:59:04 · 680 阅读 · 0 评论 -
差分题
题意: 港口有n堆货物,他们的重量分别为w1,w2,...wn,每堆货物的重量不一定相同。吊车师傅每次操作可以使任意第i堆到第j堆的货物都增加一个重量或者减少一个重量。请问吊车师傅最少需要执行几次操作可以使n堆货物重量都相同。题的链接思路: 使得n堆货物都相同,就是让差分数组除了第一个元素,都为零。让i~j的元素都加上1,就是差分数组第i个元素加一,第 j+1 个元素减一。让i~j个元素都减一,则相反。 让差分数组除第一个元素外,所有的元素都为零,就是对差分数组每...原创 2020-05-26 11:49:19 · 463 阅读 · 0 评论