随笔分类 -  数据结构

1
摘要:DAY3 T4 显然枚举区间不现实,考虑常用套路:计算每一个值的贡献,即被多少个区间经过 当确定中间点$j$后,对于$i<j,k>j,\ a_i >a_j, a_k > a_j$,发现包含$a_i$的区间左端点有$i$个,包含$a_k$的区间右端点有$n-k+1$个,则包含$(i,j,k)$这个三元 阅读全文
posted @ 2020-10-16 17:25 小蒟蒻皮皮鱼 阅读(120) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; typedef long long ll; #define ls (l[cnt]) #define rs (r[cnt]) const int N = 100005; struct Ftree { int l[ 阅读全文
posted @ 2020-07-04 20:02 小蒟蒻皮皮鱼 阅读(172) 评论(0) 推荐(0)
摘要:树链剖分 前置知识:线段树 树链剖分主要解决的是树上的操作,具体实现方法是把树上的操作变成对区间的操作。 先定义几个东西 树链:不拐弯的路径 重儿子:子树大小最大的子节点 重链:从一点出发,一直选择重儿子向下走,走到叶子节点 轻边:不属于任何一条重链的边 如图:对于节点$0$来说,他的重儿子是节点$ 阅读全文
posted @ 2020-06-21 11:19 小蒟蒻皮皮鱼 阅读(244) 评论(0) 推荐(0)
摘要:题意: 洛谷P1937 [USACO10MAR]Barn Allocation G 题意: 有$N$个编号为$1-N$的点,每个点有一个权值$a[i]$。给你$M$个指令,每个指令包含两个数$l,r$表示把区间$[l,r]$的每个点的权值减一。要求每个点的权值不能为负数,求最多能满足几个指令。 题解 阅读全文
posted @ 2020-05-30 21:19 小蒟蒻皮皮鱼 阅读(175) 评论(0) 推荐(0)
摘要:fhq treap 简要回顾treap: treap=tree+heap 它的形态是一棵二叉树,每个点的权值满足二叉搜索树的性质,每个点的随机值满足小根堆的性质 fhq treap的核心操作有两个:分裂和合并 分裂:对于给定的权值k,将一棵树分裂成两个,使得分裂后的两棵树一棵权值全部小于等于k,另一 阅读全文
posted @ 2020-05-02 15:34 小蒟蒻皮皮鱼 阅读(203) 评论(0) 推荐(0)
摘要:"题目" 一道树状数组的题。 话说题目直接告诉做法是什么鬼? 首先这个题直接暴力是$O(n^2)$的,不能通过(~~评论里说可以?可能数据太水了,建议加强~~) 考虑优化,首先对于答案里的$max$,可以直接通过排序优化掉,即把数据从小到大排序,每次更新答案的时候就直接使用当前的$V$就可以了。 之 阅读全文
posted @ 2020-04-25 16:03 小蒟蒻皮皮鱼 阅读(204) 评论(0) 推荐(0)
摘要:替罪羊树 一种基于部分重建的自平衡二叉搜索树。在替罪羊树上,插入或删除节点的平摊最坏时间复杂度是$O(log n)$,搜索节点的最坏时间复杂度是$O(log n)$。 我们定义一个平衡树因子$\alpha$。对于替罪羊树的每个节点$t$,需要满足$max(siz[ls],siz[rs] using 阅读全文
posted @ 2020-02-05 20:53 小蒟蒻皮皮鱼 阅读(338) 评论(0) 推荐(0)
摘要:前置知识: "二叉搜索树" 朝鲜树是一个非常好写的数据结构 朝鲜树是一种自平衡二叉查找树。其特色就是使用者可以指定一个值,当整棵树的深度大于K时就重建这颗树,因此避免了复杂的旋转操作,其核心还是二叉搜索树。 虽然他的时间复杂度并不是很优秀,但是它的优势就是代码简单,思路好想,在一些情况下可以作为替罪 阅读全文
posted @ 2020-02-04 21:05 小蒟蒻皮皮鱼 阅读(555) 评论(0) 推荐(1)
摘要:二叉搜索树(BST) 它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则 左子树上所有结点的值均小于它的根结点 的值; 若它的右子树不空,则 右子树上所有结点的值均大于它的根结点的值 ; 它的 左、右子树也分别为二叉排序树 。 性质:中序遍历为升序 such as: 它支持:插入, 阅读全文
posted @ 2020-01-29 19:15 小蒟蒻皮皮鱼 阅读(665) 评论(0) 推荐(0)
摘要:差分+线段树 首先看到题目中的区间修改,显然可以用线段树+差分做,于是就设每次区间修改的左端点为$1$,右端点为$ 1$。 考虑怎么利用已有的差分数组。 首先题目有一个值得说明的地方就是他一次操作埋下的地雷并不会覆盖之前埋下的地雷~~(我就因为这个浪费了一次提交)~~。 首先先看一组数据: 区间分别 阅读全文
posted @ 2020-01-11 20:40 小蒟蒻皮皮鱼 阅读(236) 评论(0) 推荐(0)
摘要:"题目" 一道树状数组的题。 话说题目直接告诉做法是什么鬼? 首先这个题直接暴力是$O(n^2)$的,不能通过(~~评论里说可以?可能数据太水了,建议加强~~) 考虑优化,首先对于答案里的$max$,可以直接通过排序优化掉,即把数据从小到大排序,每次更新答案的时候就直接使用当前的$V$就可以了。 之 阅读全文
posted @ 2019-12-29 08:15 小蒟蒻皮皮鱼 阅读(187) 评论(0) 推荐(1)
摘要:浅谈主席树 主席树,又名可持久化线段树,函数式线段树~~(我也不知道啥意思)~~。之所以叫主席树是因为发明人黄嘉泰姓名缩写是hjt~~(知道是谁吧)~~ 首先,可持久化线段树,顾名思义~~它是持久的~~,它支持询问过去版本,也就是说在过去某一次操作时的树,那么这怎么实现呢? 例题1: 给你一个长度为 阅读全文
posted @ 2019-11-24 16:38 小蒟蒻皮皮鱼 阅读(321) 评论(4) 推荐(3)
摘要:第一篇黑题题解qwq 由于窝在做zhx的模拟题被2 SAT加线段树优化建边搞炸了,所以一气之下来学了这两个东西ww 这篇就是线段树优化建边 直接步入正题,先来看题目 题目描述 在一条直线上有$N$个炸弹,每个炸弹的坐标是 $X_i$,爆炸半径是 $R_i$,当一个炸弹爆炸时,如果另一个炸弹所在位置$ 阅读全文
posted @ 2019-10-22 21:34 小蒟蒻皮皮鱼 阅读(239) 评论(0) 推荐(0)
摘要:内容提要 贪心 分治 分块 搜索 接着昨天的讲 过河问题 考虑AB是最快的人,CD是最慢的人,要把CD两个人送过河,只有两种方案,牵扯到四个人,并且n个规模的原问题化成了n-2个规模的子问题 那么最后有两个情况,四个人和三个人,如果是四个人就直接按刚才的方法搞一搞就好了,如果是三个人的话,就有两个方 阅读全文
posted @ 2019-07-14 11:30 小蒟蒻皮皮鱼 阅读(213) 评论(0) 推荐(0)
摘要:传送门 题意:有一些学(xian)生(quan)要借教室。在n天内,第i天学校有ri个教室。有m份订单,每份订单有三个数值dj,sj,tj,分别表示这个订单从第sj天开始到第tj天结束(包括端点),每天需要dj个教室。 我们要按照订单的顺序一次处理每一个订单,如果有某个订单不能满足(当天的教室数量小 阅读全文
posted @ 2019-07-06 16:53 小蒟蒻皮皮鱼 阅读(213) 评论(0) 推荐(0)
摘要:一.什么是线段树 线段树之所以称为“树”,是因为其具有树的结构特性。线段树由于本身是专门用来处理区间问题的 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 同一层的节点所代表的区间,相互不会重叠同一层节点所代表的区间,加起来是个连续的区间 阅读全文
posted @ 2019-06-02 21:33 小蒟蒻皮皮鱼 阅读(296) 评论(0) 推荐(0)
摘要:洛谷P3374 【模板】树状数组 1 已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 先来定义一个东西:lowbit 记lowbit(x)为x的二进制最低位包含后面的0构成的数. 举几个栗子: 8的二进制表示是1000,lowbit(8) =1000(2)= 阅读全文
posted @ 2019-06-01 10:23 小蒟蒻皮皮鱼 阅读(211) 评论(0) 推荐(0)
摘要:ST表 ST表的功能很简单 它是解决RMQ问题(区间最值问题)的一种强有力的工具 它可以做到O(nlogn)预处理,O(1)查询最值 是一种处理静态区间可重复计算问题的数据结构,一般也就求求最大最小值辣。 ST表的思想是先求出每个[i, i + 2^k)的最值。 注意到这样区间的总数是O(N log 阅读全文
posted @ 2019-05-30 20:53 小蒟蒻皮皮鱼 阅读(194) 评论(0) 推荐(1)
摘要:gh大佬快读 阅读全文
posted @ 2019-04-26 21:30 小蒟蒻皮皮鱼 阅读(297) 评论(0) 推荐(0)
摘要:堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 堆中某个节点的值总是不大于或不小于其父节点的值; 堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大 阅读全文
posted @ 2019-04-26 21:16 小蒟蒻皮皮鱼 阅读(521) 评论(0) 推荐(0)

1