![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
差分
timidcatt
永远不要放弃战斗
展开
-
Chip and Ribbon Educational Codeforces Round 158 (Rated for Div. 2)
可以发现每一块积木刚好用一次操作1即可,操作2实际上就是从一个积木转移到另一个,那么操作2的次数其实就是积木数-1,积木数量增加的时候,也就是a[i]值增大的时候,增加的数目就是a[i]增加的值,所以最终操作2的数量也就是max(0,a[i]-a[i-1])1.设指针当前位置为l,可以选择一个任意位置r(r>=l),使[l,r]内所有数+1。问对于一个初始有n个0的数组,最少要多少次操作2能使其等于a数组。2.将指针移动到一个任意位置,并令那个位置上的数+1。原创 2023-12-14 19:51:52 · 912 阅读 · 0 评论 -
C. Medium Design Codeforces Round 904 (Div. 2)
思路:我们设取得最大值的位置是i,我们要让这个最大值最大,那么所有包含这个位置的区间都要选,并设这些区间去掉重合部分后组成的大区间为[L,R],那么这个区间内最小值的取值位置一定是L或R,因为假如最小值的取值位置在LR里面,那么可以把这个位置左边或右边的区间删掉同时另一边的最大值仍然等于原来的最大值,最小值又变成了新的大区间的端点。题目大意:有一个长为m的数组初始全为0,有n个区间[li,ri],每选择一个区间就要令区间内所有数+1,要求选择一些区间,使得数组的最大值-最小值最大,求这个差值。原创 2023-10-22 18:15:45 · 564 阅读 · 3 评论 -
Qu‘est-ce Que C‘est? 2023牛客暑期多校训练营4-J
题目大意:求满足如下条件的长度为n的数组数量:所有数字的范围在-m~m之间,任意连续的元素数量>1的区间的的区间和>=0。原创 2023-07-29 12:19:32 · 704 阅读 · 0 评论 -
C. Fools and Roads codeforces 191C
思路:树上边差分题,先将边权下放到点权,令每条边的终点的点权为边权,然后要统计边的访问次数,就将起点和终点的计数分别+1,因为起点和终点的lca为这个子树的根,所以计数应该为0,也就要-2,这样该子树以外的点的计数就都不变。题目大意:有一棵n个点的树,给出m个数对,每次从一个点出发到另一个点,问每条边被访问的次数。原创 2023-05-16 13:06:18 · 58 阅读 · 0 评论 -
松鼠的新家 51Nod - 3116(点差分)
题目大意:有一棵n个点的树,给出一长度为n的数组a,依次沿简单路径访问a[1],a[2],a[3]...a[n]号点,问每个点被访问的次数是多少。原创 2023-05-16 09:27:21 · 88 阅读 · 0 评论 -
C. Tea Tasting codeforces 1795C
题目大意:有两个长度为n的数组a,b,每一轮操作,ai减去对应位置上的bi,最小减为0,然后删除b1,b数组所有元素都向左移,直到b数组中所有数都被删除,问原b数字的每个数分别使a数组减去了多少。原创 2023-02-18 16:17:18 · 464 阅读 · 0 评论 -
Jellyfish and its dream
思路:要使所有数都相等就是令方差都为0,如果a1,a2,a3的方差为2,1,那么我们可以让a2+1使方差变为0,0如果方差为1,1,我们可以让a2+1使方差变为2,0,如果为0,1,我们可以让a2+1变成1,0所以我们要让方差都变为0,首先我们需要利用0,1变1,0移动1的位置使2都变为0然后继续移动1使1,1,都变为0,因为数组是首尾相接的,所以只要求出原数组方差,统计1的数量如果不少于2就可以。......原创 2022-08-17 20:29:31 · 82 阅读 · 0 评论