摘要: 斜率优化的模板题 给出n个数以及M,你可以将这些数划分成几个区间,每个区间的值是里面数的和的平方+M,问所有区间值总和最小是多少。 如果不考虑平方,那么我们显然可以使用队列维护单调性,优化DP的线性方法来做,但是该题要求的是区间和的平方,于是要转换单调的计算方法为斜率,也就是凸线。 其他就是最基本的 阅读全文
posted @ 2017-09-07 03:50 Lweleth 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 给你n*2个数其中n个数是原数减去了X值的数。问你满足条件的X值和原来的n个数。注意X为正整数。 X should be positive,没0的 思路很简单,一个数必定会对应一个数,那么枚举一个数和其他所有数的差值作为X,然后对每个数找到没有标记过的对应相差X的数,这个过程可以二分(不二分也一样过 阅读全文
posted @ 2017-09-07 03:36 Lweleth 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 给出n个数,你可以对每个数把它变为0,或者增加1,分别需要花费x, y。问把所有数的GCD变为不为1的最小花费是多少。 n的范围5x1e5,a[i]的范围1e6。 开始想通过枚举最终gcd值,然后通过判左右个数以及消费来二分,显然是愚蠢的想法,因为一个数在不同模数下余数并不单调阿! 实际上是枚举gc 阅读全文
posted @ 2017-09-07 03:22 Lweleth 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 给出n个5维下的点,求点a不与其它任意的b,c重合,向量ab,ac的夹角都为钝角,这样的点个数,并打印它们。 转换二维下的求角度的函数为五维的,而且由于要求角度大于90度,在二维情况下最多有4个点,也就是象限的数量,那么推导到5维就有$2^5$个象限,所以实际上只需要判断这么多个点就能退出了,并不会 阅读全文
posted @ 2017-09-07 02:59 Lweleth 阅读(420) 评论(0) 推荐(0) 编辑