随笔分类 - 数据结构 -- 树状数组
摘要:【LOJ 2507】[CEOI2011]Matching(KMP,树状数组) 题面 "LOJ" 题解 发现要做的是排名串的匹配。 然后我们考虑把它转成这个位置之前有多少个数小于当前这个数,这样子只要每个位置都对应相等那么一定是合法的。 然后就可以类似的预处理出一个数组,然后再类似
阅读全文
摘要:【LOJ 2402】[THUPC2017]天天爱射击(整体二分) 题面 "LOJ" 题解 显然对于每块木板可以二分被打烂的时间。 那么直接上整体二分处理就行了。 cpp include include include include include include include using nam
阅读全文
摘要:【BZOJ2244】[SDOI2011]拦截导弹(CDQ分治) 题面 "BZOJ" "洛谷" 题解 不难发现这就是一个三维偏序+这样一个。 那么第一问很好求,直接分治之后就好了。 那么第二问呢?首先如果记一个方案数,显然就可以在转移的时候求出以每个点开头/结尾的$
阅读全文
摘要:【BZOJ1818】[CQOI2010]内部白点(树状数组,扫描线) 题面 "BZOJ" 题解 不难发现就是在搞笑的。 那么对于每一行,我们显然可以处理出来最左和最右的点,那么等价于我们在横着的方向上得到了若干条线段,同理,在竖直方向上也得到了若干条线段,那么最终的答案就是这些线段的交点个数
阅读全文
摘要:【BZOJ4888】[TJOI2017]异或和(树状数组) 题面 "BZOJ" "洛谷" 题解 考虑每个位置上的答案,分类讨论这一位是否存在一,值域树状数组维护即可。 cpp include include include include include include include using
阅读全文
摘要:【BZOJ1452】[JSOI2009]Count(树状数组) 题面 "BZOJ" "洛谷" 题解 数据范围这么小?不是对于每个颜色开一个什么东西记一下就好了吗。 然而我不会二维树状数组? 不存在的,凭借多年树套树经验自己一下就好了。 一维是后缀加法,二维当然就是给整个矩阵加法了啊。 cpp
阅读全文
摘要:【agc023E】Inversions(线段树,动态规划) 题面 "AT" 给定,求所有满足的排列的逆序对数之和。 题解 首先如何计算排列的个数。 设表示的个数,那么满足条件的的总数就是$\prod cnt[i]
阅读全文
摘要:【BZOJ2727】双十字(动态规划,树状数组) 题面 "BZOJ" "洛谷" 题解 我们去年暑假的时候考试考过。 我当时写了个大暴力混了分。。。。 大暴力是这么写的: 预处理每个位置向左右/上/下能够拓展的最多的长度(左右相当于分别求然后取) 接着枚举双十字的中轴线,所在的列 然
阅读全文
摘要:【BZOJ4361】isn(动态规划,容斥) 题面 "BZOJ" 题解 首先我们如果确定了一个不降序列,假设它的长度为, 那么可行的方案数为,但是这样有一些非法的情况,即删掉最后一个数之前已经是有序的了。 那么设表示长度为的不降序列的总数 因为所有长度为$
阅读全文
摘要:【BZOJ4826】【HNOI2017】影魔(扫描线,单调栈) 题面 "BZOJ" "洛谷" Description 影魔,奈文摩尔,据说有着一个诗人的灵魂。事实上,他吞噬的诗人灵魂早已成千上万。千百年来,他收集了各式各样 的灵魂,包括诗人、牧师、帝王、乞丐、奴隶、罪人,当然,还有英雄。每一个灵魂,
阅读全文
摘要:【SYZOJ279】滑稽♂树(树套树) 题面 "SYZOJ" "CJOJ" 题目描述 zzsyz实验楼里面种了一棵滑稽树,只有滑稽之力达到大乘期的oier才能看到。虽然我们看不到,但是还是知道一些信息: 这真的是一棵树,由n个节点,n 1条边联通。一号滑稽果同时也是整棵滑稽树的树根。 滑稽树上每个节
阅读全文
摘要:【BZOJ4009】接水果(整体二分,扫描线) 题面 "为什么这都是权限题???,洛谷真良心" 题解 看到这道题,感觉就是主席树/整体二分之类的东西 (因为要求第大) 但是,读完题目之后,我们发现路径之间的包含关系很不好搞 那么,我们来画画图 这是第一种情况,不是 $u,v
阅读全文
摘要:【BZOJ1146】网络管理(主席树,树状数组) 题面 "BZOJ权限题,洛谷题面" 题解 树上带修改主席树 貌似和那题很相似呀 只需要套上一个树状数组来维护修改好就好了 但是记住是用来记录主席树的标号 一定不要搞错了 每一次修改只会影响他子数的值
阅读全文
摘要:【BZOJ2434】阿狸的打字机(AC自动机,树状数组) 先写个暴力: 每次打印出字符串后,就插入到树中 搞完后直接搭自动机 看一看匹配是怎么样的: 每次沿着自动机走,在每一个节点都跳指针 如果有串的末节点,就给答案 这样的话没有必要存下每个串
阅读全文
摘要:【BZOJ3196】二逼平衡树(树状数组,线段树) 题面 "BZOJ题面" 题解 如果不存在区间修改操作: 搞一个权值线段树 区间第K大 直接在线段树上二分 某个数第几大 查询一下区间的size和 某个数的前缀 先查一下他是区间第几大,再求他 1大 某个数的后缀 和上面那个有区别吗??? 现在有了区
阅读全文
摘要:【BZOJ3295】动态逆序对(线段树,树状数组) 题面 Description 对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。 Input 输入第一行包含两个整数n和m,即初
阅读全文
摘要:【BZOJ1901】【Luogu2617】Dynamic Ranking(主席树,树状数组) 题面 神TM BZOJ权限题 "Luogu真良心" 题解 如果不考虑修改 很容易的主席树区间第K大 考虑修改 那么修改操作复杂度 因此,将区间的和利用树状数组来维护 修改复杂度降为$O(
阅读全文
摘要:【BZOJ3262】陌上花开(树套树) 题面 ~~对于权限题,我这种苦逼肯定是从别的OJ上搞的对不对???~~ "CJOJ" "洛谷" Description 有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),又三个整数表示。现要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量
阅读全文
摘要:题面 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可
阅读全文