
数据结构
文章平均质量分 96
数据结构专题
NoobDream_
北邮20级本科生,退役Acmer
展开
-
【数据结构】二维数点/二维偏序
二维数点又称二维偏序,它是这样一类问题,给出一个二维平面內的若干个点,多次询问某个矩形区域內包含多少个点(边界也算)。又或者,给一个长为n的序列,多次询问区间[l,r]中值在[x,y]内的元素个数。能解决这一问题的数据结构较多,包括树状数组/线段树、K-D Tree、可持久化线段树等,运用CDQ分治可解决更高维的偏序问题。以下着重讲解扫描线思想+树状数组解决二维偏序问题的方法。原创 2023-03-29 11:54:37 · 8192 阅读 · 4 评论 -
【数据结构】树上问题——树上启发式合并
树上启发式合并,又称dsu on tree、small to large merging,是一种能够在 O(NlogN) 时间复杂度內回答子树问题的算法,优于树上莫队等。有一句话说得好——“提到子树,就想到启发式合并”,这更说明了这一算法的重要性。从名字small to large看,启发式合并的主要思想就是每次将小集合并入大集合中,以期减少元素的遍历次数,最终使得每个元素平均只被遍历 O(logN) 次。原创 2023-03-23 11:59:16 · 566 阅读 · 0 评论