摘要: 整体二分 思想概述 整体二分算法,全称为基于值域的分治算法,它的思想是这样的: 在某些题目中,我们需要处理很多个询问,而每一个询问都需要二分答案,且$check$函数类似,在我们进行每一次二分答案的时候,$check$函数返回的信息很有可能会被浪费掉,而整体二分就是来解决这个问题的 详细的说,整体二 阅读全文
posted @ 2022-11-30 22:32 spdarkle 阅读(245) 评论(0) 推荐(0)
摘要: CDQ 思想概述-基于离线的分治算法 首先明确几个概念: 动态问题:即带有修改操作的问题 静态问题:即无修改操作的问题 当一个问题是动态问题并且并不强制在线的,我们可以进行离线操作——对问题的某一维度进行分治 一般来说,CDQ分治分为三步 统计分治的前段区间$[l,mid]$的修改操作对$[mid+ 阅读全文
posted @ 2022-11-30 22:31 spdarkle 阅读(333) 评论(0) 推荐(2)
摘要: 点分治 在以前,我们做的都是在序列上的分治问题,现在我们研究一类用于树上静态路径统计的分治算法——点分治(动态需要扩展-点分树) 其核心思想是在树上进行分治 例题:TREE 给定一个有 N 个点(编号 0,1,…,N−1)的树,每条边都有一个权值(不超过 1000)。 树上两个节点 x 与 y 之间 阅读全文
posted @ 2022-11-30 22:30 spdarkle 阅读(100) 评论(0) 推荐(1)
摘要: Splay Splay基本操作 Splay是一类二叉查找树,与其他平衡树相比,也是运用旋转保证复杂度 其最重要的操作便是$rotate$ $and$ $spaly$了 先来谈旋转,我们都知道,旋转是这样的 仔细观察后,我们会发现,旋转操作可以拆解为三步,设$x$是$y$的父亲,$k$表示$y$是$x 阅读全文
posted @ 2022-11-30 22:29 spdarkle 阅读(77) 评论(0) 推荐(0)
摘要: 分块 望月悲叹的最初分块 分块,优雅的暴力 分块也是同线段树等结构一样,维护区间操作的,不同于线段树和树状数组的是,分块所维护的信息并不需要满足区间可加性,以此,分块可以处理许多线段树等结构不可以处理的问题 简单来说,分块就是将整个序列分为若干个大小相同的块(最后一个可能不同),然后对于每一个块再加 阅读全文
posted @ 2022-11-30 22:29 spdarkle 阅读(95) 评论(0) 推荐(0)
摘要: 线段树 概述 线段树是维护区间问题的利器,可以完成许许多多的区间问题,轻松完成区间修改区间统计,前提是只能维护满足区间可加性的信息 线段树基于分治思想,即将一个$[1,n]$的区间按照对半分,这样分成$O(n)$个节点。在线段树上,每一个节点代表一个区间,维护其内的信息,于是按照对半分的思想,我们可 阅读全文
posted @ 2022-11-30 22:27 spdarkle 阅读(109) 评论(0) 推荐(0)
摘要: 树状数组 概述 树状数组是一种基于倍增和二进制划分思想,用于维护简单区间操作的数据结构,短小精悍 我们知道,每一个数都可以使用二进制表示为$a_0a_1a_2a_3…a_k(\forall i\in[0,k],a_i=0/1)$(由低位到高位共$k+1$位)的形式,其中第$i$位所表示的二进制的值为 阅读全文
posted @ 2022-11-30 22:26 spdarkle 阅读(54) 评论(1) 推荐(0)
摘要: 并查集 概述 并查集主要用于对于多个集合的从属关系维护 它有两个基本操作 查询当前所在集合 合并两个集合 通过并查集,我们可以对许许多多的问题进行优化,比如树上跳链等等 并查集能够在一张无向图里维护节点连通性,事实上,并查集擅长维护许多具有传递性的关系 基本操作 实现: 我们对于每一个集合采用代表元 阅读全文
posted @ 2022-11-30 22:26 spdarkle 阅读(46) 评论(0) 推荐(0)
摘要: SG函数 NIM博弈 概述:有$n$堆物品,每堆物品有$A[i]$个,有两名玩家轮流操作,每一次都可以在其中一堆拿任意多个,但不能不拿,取走最后一件物品者获胜,在双方都使用最优策略的情况下,问先手是否必胜 定理: $nim$游戏先手必胜,当且仅当 $$\bigoplus_{i=1}^n A[i]\n 阅读全文
posted @ 2022-11-30 22:25 spdarkle 阅读(459) 评论(0) 推荐(0)
摘要: 0/1分数规划 $0/1$分数规划模型是指,给定:$a_1\sim a_n,b_1\sim b_n$,要构造$x_1\sim x_n(\forall i\in[1,n],x_i=0\text{或}1)$ 使得 $$\frac{\sum_{i=1}^na_ix_i}{\sum_{i=1}^nb_ix_ 阅读全文
posted @ 2022-11-30 22:24 spdarkle 阅读(245) 评论(0) 推荐(0)