摘要:
定义: 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 理解: 简单粗暴的举个栗子。通过数轴比较1和100000000大小,那么想都不用想100000000肯定比1大。如果必须通过数轴比较呢?没有人会画一个长为大于100000000的数轴找到一个准确的点去比较。只会画出 阅读全文
摘要:
分块即优美的暴力,通过将数组分成小块降低复杂度。分块可以维护线段树不好维护或根本维护不了的信息。线段树维护的信息必须具有可合并性,单调性等,而分块对信息性质的要求并没有那么苛刻。但在思想上,分块又与线段树十分类似,通过标记等操作来降低复杂度。 基本定义 一个长度为N的序列,块的大小为block,从序 阅读全文
摘要:
题解:分块。哇,毒瘤题ORZ,提交了好几页TLE,不过是好题。先离散化再处理。区间的众数有三种情况:①L块中L及之后的部分 ②R块中R及之前的部分。 ③L,R之间若干个整块范围的众数。预处理每两个整块之间的众数,边块暴力,块的大小玄学开。 代码: 阅读全文
摘要:
题解:分块。sum[i]维护 i 块增加的数,m[i]维护 i 块扩大的倍数。及时更新。=w[r] * m[r] + sum[r]。 代码: 阅读全文
摘要:
题解:块状链表。最简陋的块状链表就能过。 代码: 阅读全文