差分
_beginend
这个作者很懒,什么都没留下…
展开
-
bzoj 3043: IncDec Sequence 差分
题意给定一个长度为n的数列{a1,a2…an},每次可以选择一个区间[l,r],使这个区间内的数都加一或者都减一。 问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多少种。 n<=100000分析一开始看到的时候没什么头绪,看了题解才想到用差分来做。那么我们设d[1]=a[1] , d[i]=a[i]-a[i-1]{2<=i<=n} , d[n+1]原创 2016-12-22 20:22:52 · 595 阅读 · 0 评论 -
bzoj 4925: 城市规划 差分
题意最近比特镇正在迅速建成。沿着美丽的大街,一座座新建筑拔地而起。小Q喜欢沿着大街走,但问题是不同的建筑位于街对面。为了从一个建筑到另一个建筑,有时需要通过漫长的步行穿过最近的人行道。所以他决定写一个程序,计算如何沿着大街平移所有人行道,使得人行道的布局最有利于行人。他希望尽可能多的人行道出现在某些建筑物的前面,同时人行道的移动距离应当是最小的。 大街以直线表示,人行道被视为这条线上的点。所有建筑原创 2017-06-18 20:55:57 · 766 阅读 · 0 评论 -
AtCoder Regular Contest 077 E - guruguru 二阶差分
题意 有m个点围成一个圈,按顺时针编号为1到m,一开始可以固定一个位置x,每次操作可以往顺时针方向走一步或直接走到x。现在给出n个位置a[1..n],初始时在a[1],第i次要从a[i]走到a[i+1],在x可以任意选择的情况下使总步数最小。 n,m<=100000 分析 考虑走一次,从a[i]走到a[i+1],只有当x位于这条路径上时,我们会选择走x,且离终点越近贡献越大。不难...原创 2018-02-21 09:39:41 · 511 阅读 · 0 评论 -
bzoj 5028: 小Z的加油店 线段树+差分+数论
题意 小Z经营一家加油店。小Z加油的方式非常奇怪。他有一排瓶子,每个瓶子有一个容量vi。每次别人来加油,他会让 别人选连续一段的瓶子。他可以用这些瓶子装汽油,但他只有三种操作: 1.把一个瓶子完全加满; 2.把一个瓶子完全倒空; 3.把一个瓶子里的汽油倒进另一个瓶子,直到倒出瓶子空了或者倒进的瓶子满了。 当然,为了回馈用户,小Z会时不时选择连续一段瓶子,给每个瓶子容积都增加x。 为了...原创 2018-05-11 23:32:41 · 645 阅读 · 0 评论