随笔分类 -  数据结构好,真、善、忍

摘要:好家伙今天心血来潮再次学习了Splay。。。也算是填坑吧,把几年前的坑给填上。 首先,贴题目,洛谷的普通平衡树模板,之前用treap和fhq treap实现过(不过也是快忘完了就是) 就是要写一个平衡树嘛,平衡树,就是一个平衡的树(废话) 就是一个左右两边差不多大的BST,以保证时间复杂度为O(nl 阅读全文
posted @ 2022-06-19 23:20 阿基米德的澡盆 阅读(56) 评论(0) 推荐(0) 编辑
摘要:.....好吧....最后一篇学习笔记的flag它倒了..... 好吧,这篇笔记也鸽了好久好久了... 比赛前刷模板,才想着还是补个坑吧... FHQ,这个神仙(范浩强大佬),发明了这个神仙的数据结构, 首先,本篇博客使用洛谷普通平衡树为背景,即 查找前驱 查找后记 查找kth的数 查找k的排名 插 阅读全文
posted @ 2019-11-12 15:42 阿基米德的澡盆 阅读(214) 评论(0) 推荐(0) 编辑
摘要:秒切树上查分....(最近一次集训理解的东西) 但是,我敲了半小时才切掉这道题.... 我一直迷在了“边差分”和“点差分”的区别上。 所以,先说一下此题,再说一下区别。 首先,想到差分很容易。 然后,按照戴大爷的说法,x++,y++,lca(x,y)-=2; 这是模板,统计的是每条边被经过几次。理解 阅读全文
posted @ 2019-11-07 21:31 阿基米德的澡盆 阅读(146) 评论(0) 推荐(0) 编辑
摘要:一句话题意(不用我改了.....):给一棵n(1≤n≤200000个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少。 ......这题输入很神烦呐。。。 给你一棵二叉树的dfs序(考场上没发现2333),只有叶子结点有值,然后求逆序对大小 在考场上,建树建了好久,然后暴力暴了好 阅读全文
posted @ 2019-11-01 22:16 阿基米德的澡盆 阅读(103) 评论(0) 推荐(0) 编辑
摘要:emmmm。。。数据结构的大码量经常死在一些小错误上(比如一个字母,等号),然后导致一查查半年。这里汇总一下错误吧。 1、线段树操作进行二分操作时,mid用的是当前块的左右区间(t[p].l),不是查询区间的lr,错过几次 2、树剖中,(好吧其实还是线段树),向下递归,第二个判断区间相交的if不能用 阅读全文
posted @ 2019-10-26 11:26 阿基米德的澡盆 阅读(131) 评论(0) 推荐(0) 编辑
摘要:盲猜dp系列。。。 题意:给定序列,选了i就不能选与i相邻的两个,求最大值,带修改 蒟蒻在考场上10min打完以为只有两种情况的错解。。。居然能骗一点分。。。 先讲下当时的思路吧。 f【i】【0/1】表示第i台选不选的挤奶最大值,两个转移,水得不行。 考完之后在大佬的点播下才明白,这是一个类似独立集 阅读全文
posted @ 2019-10-22 00:42 阿基米德的澡盆 阅读(211) 评论(0) 推荐(0) 编辑
摘要:嘛。。两年前的题目了,想起第一次参加提高组还骗了一个省二回来呢。。。跟同学吹了好久的。。。 离退役又近了一骗博客啊。。 闲聊结束。 照常化简:给定一个1-n*m编号的矩阵,每次删除一个位置,然后左边向右补,之后后面向前补,最后空出来的位置再由刚刚删去的点补上,求每次删除的点的编号。 当年也是暴力,奔 阅读全文
posted @ 2019-10-20 09:26 阿基米德的澡盆 阅读(110) 评论(0) 推荐(0) 编辑
摘要:直入主题: 学习线段树合并..... 从名字就能看出,这个东西要合并线段树..... 线段树怎么能合并呢...... 暴力合就行了啊...... 一次从上往下的遍历,把所有的节点信息暴力合并,然后就没有然后了..... 有两种合并方法: 一、动态开点 就是主席树那样的模式(可持久化了),新开一个点记 阅读全文
posted @ 2019-10-05 20:59 阿基米德的澡盆 阅读(191) 评论(0) 推荐(0) 编辑
摘要:考场上,整整看了半个小时以上的题目!!! 化简题意: 给定一个全0矩阵,一些坐标点(x,y)为1,当三个点可以构成一个直角三角形时(直角边长为整数)拓展为一个矩形,之后从(0,0)出发,求最多的占用行数或占用列数 反正就是很麻烦的题就对了。。。 考场历程: 1、没看懂题,就去看下一题了 2、第三题可 阅读全文
posted @ 2019-09-03 18:09 阿基米德的澡盆 阅读(230) 评论(0) 推荐(0) 编辑
摘要:1、关于暴力:它死了,不可能诈尸 2、那就直接数据结构吧 本题思维量和码量都比较大,很好的题目!! 从头分析...... 需要区间改值,区间查询,那么就是线段树了吧。 我们的目标是:找到最左端的大于等于给定长度的连续0串的左端点(很像lower_bound) 考虑这个串在区间的存在情况: 1、整个区 阅读全文
posted @ 2019-08-23 01:12 阿基米德的澡盆 阅读(178) 评论(3) 推荐(0) 编辑
摘要:简单明了。直接数据结构了。 算了还是先想想暴力吧。。。 暴力开根,暴力求和目测30pts.... 或许可以用树状数组维护前缀和??目测满分.....(维护前缀和,用并查集跳过已经是1的点) 我还是想练练线段树,那就讲讲线段树写法吧 首先,没有区间加,不用lazy_tag。 其次,看数据范围,最大的数 阅读全文
posted @ 2019-08-23 00:47 阿基米德的澡盆 阅读(158) 评论(0) 推荐(0) 编辑
摘要:直秒并查集。这题的难点就在于怎么删点。如果要删的是叶节点,那还好,直接刨掉即可 如果是中间节点甚至是根节点,那就不好办了..... solution: 对于独立一个点,我可以用邻接表模拟,然后用并查集维护联通,删点就是普通删点,但是实现难度高,复杂度大,算了,还是想正解吧 正解:对于一个删了的点,我 阅读全文
posted @ 2019-08-18 15:07 阿基米德的澡盆 阅读(150) 评论(0) 推荐(0) 编辑
摘要:鸽了好久的一篇博客啊.... 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和 操作3 阅读全文
posted @ 2019-08-07 10:22 阿基米德的澡盆 阅读(150) 评论(0) 推荐(0) 编辑
摘要:提到cdq,就不得不提这道该死的,挨千刀的题目了。 极简题面: 给定一个二维平面,在ti时刻会在(xi,yi)放一个点,会在tj时刻查询一个方框里面的点的数量 看道题就是二维线段树乱搞啊,这么水??? 数据范围劝退警告 单是一维都快有点吃不消了...1e6*1e6的数组?几个GB??? 。。。 于是 阅读全文
posted @ 2019-08-04 22:08 阿基米德的澡盆 阅读(210) 评论(0) 推荐(0) 编辑
摘要:首先肯定是要膜拜CDQ大佬的。 题目背景 这是一道模板题 可以使用bitset,CDQ分治,K-DTree等方式解决。 题目描述 有 nn 个元素,第 ii 个元素有 a_iai​、b_ibi​、c_ici​ 三个属性,设 f(i)f(i) 表示满足 a_j \leq a_iaj​≤ai​ 且 b_ 阅读全文
posted @ 2019-08-04 21:33 阿基米德的澡盆 阅读(268) 评论(0) 推荐(0) 编辑
摘要:题目背景 这是个非常经典的主席树入门题——静态区间第K小 数据已经过加强,请使用主席树。同时请注意常数优化 题目描述 如题,给定N个整数构成的序列,将对于指定的闭区间查询其区间内的第K小值。 输入输出格式 输入格式: 第一行包含两个正整数N、M,分别表示序列的长度和查询的个数。 第二行包含N个整数, 阅读全文
posted @ 2019-06-20 00:23 阿基米德的澡盆 阅读(221) 评论(0) 推荐(0) 编辑
摘要:HH是一位十分爱好数学的大佬,尤其喜爱数数,一天百无聊赖的他写下了一个1-N的排列,并且在小纸条上记下了每个数前面有多少个数比他小,但HH不小心忘记了这个排列。现在只有当时记下的小纸条,现在请你还原出这个1-N的排列。 HH: HH是一位十分爱好数学的大佬,尤其喜爱数数,一天百无聊赖的他写下了一个1 阅读全文
posted @ 2019-06-05 00:00 阿基米德的澡盆 阅读(210) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示