摘要: 二叉查找树(BST)的两条性质: 1.该节点的关键码不小于它的左子树中任意节点的关键码 2.该节点的关键码不大于它的右子树中任意节点的关键码 显然,二叉树的中序遍历是关键码单调递增排列的序列。 为避免越界,在BST中插入关键码为正无穷和负无穷的结点为初始情况。 基本操作: 1.检索 递归: (1)找 阅读全文
posted @ 2019-08-15 00:06 hélium 阅读(315) 评论(0) 推荐(0)
摘要: NOI2009 开关 现有N(2 ≤ N ≤ 100000)盏灯排成一排,从左到右依次编号为:1,2,......,N。然后依次执行M(1 ≤ M ≤ 100000)项操作,操作分为两种:第一种操作指定一个区间[a, b],然后改变编号在这个区间内的灯的状态(把开着的灯关上,关着的灯打开),第二种操 阅读全文
posted @ 2019-07-15 12:30 hélium 阅读(288) 评论(0) 推荐(0)
摘要: 边带权并查集用于维护相互连通的结点之间的权值。其中的难点在于分析路径压缩时对于结点的更新。 在分析一道题时,我们要清楚自己所要得到的信息,并找到其来源。在写程序之前,先分析确定边权(深度?子树大小?),再分析回溯过程中权值的更新方式。 这道题带来的困惑是,对于合并队伍,我们会把树根连在一起。对于连通 阅读全文
posted @ 2019-07-09 00:17 hélium 阅读(232) 评论(0) 推荐(0)
摘要: 线段树(SegmentTree)是一种基于分治思想的二叉树结构,用于区间上进行信息统计。与按照二进制位进行划分的树状数组相比,线段树是一种更加通用的结构。 性质 建树 每个叶节点t[i, i]维护a[i]的值,从而使信息从下向上传递信息。 单点更改 从根节点出发,找到区间[x, x]的叶节点,然后从 阅读全文
posted @ 2019-07-06 22:46 hélium 阅读(652) 评论(0) 推荐(0)
摘要: 并查集(Disjoint-Set)是一种可以维护若干个不重叠的集合。它的基本操作有两个: GET 查询一个元素属于哪个集合 MERGE 合并两个集合成为一个集合,就是将其中一个父结点指向另一个父结点 在查询的过程中,我们可以利用回溯顺便将路径中所有元素指向父结点,这个操作称为路径压缩。 模板: in 阅读全文
posted @ 2019-06-22 21:07 hélium 阅读(331) 评论(0) 推荐(0)
摘要: 看书的时候第n次见到vector了,一时兴起:既然这么好用就掌握它吧。 看书看别人的博客发现原理并不复杂。并且!居然支持任意位置插入!!一直以来无限头疼的问题,唯有二叉查找树--平衡树能解决的艰难的问题居然被STL封装好了! 立刻把之前树状数组折腾了好久的题拿出来用vector做。 五分钟搞定!!! 阅读全文
posted @ 2019-06-10 19:06 hélium 阅读(628) 评论(0) 推荐(0)
摘要: 互质:任意自然数a, b,若gcd(a, b) = 1,则a,b互质。 欧拉函数:1~N中与N互质的数的个数被称为欧拉函数,记为φ(N)。 若在算术基本定理中, 。 公式的证明用到的思想被称为容斥定理。在N的全部质因子上用容斥定理,即可得到1~N中不与N含有任何共同质因子的数的个数,也就是与N互质的 阅读全文
posted @ 2019-06-08 23:02 hélium 阅读(329) 评论(0) 推荐(0)
摘要: 质数: 若一个正整数无法被除了1和它自身之外的任何自然数整除,则该数称为质数,否则称为合数。 质数的三种求法中,筛选法优选线性筛法,判定则用试除法最好。 试除法: Eratosthenes筛法: 线性筛法: 阅读全文
posted @ 2019-06-07 18:57 hélium 阅读(246) 评论(0) 推荐(0)
摘要: 超级素数 程序名:super.cpp super.in super.out 题目描述: 一个素数,依次从低位去掉一位,二位,……,若所得的各数仍都是素数,则称超级素数。 例如:7331是个4位超级素数,因为7,73,733,7331均为素数. 试求n位数的超级素数: (1)超级素数的个数 (2)所有 阅读全文
posted @ 2019-06-07 11:08 hélium 阅读(1763) 评论(0) 推荐(0)
摘要: SUMMARIZE 2019.6 两个月里一直投入于搜索和树状数组里。我总喜欢写,却一直在重复已经掌握的东西。总是在有新的想法后急于去写出来,在出现bug之后想不通也没有完全解决。这样是永远不会有进步的。在考试的时候,纵使有n种思路,也没有一种完全畅通。 我决定把所有搁置的题按照正解的思路做一遍。 阅读全文
posted @ 2019-06-02 21:26 hélium 阅读(259) 评论(0) 推荐(0)