随笔分类 -  线段树

摘要:还是很强的一个题 ORZ肉丝哥哥 对于两个相交区间,假如他们两个都是可行的,那么他们的交也可行,不然没可能两边都把它缺的补上 那么对于答案区间,向右找到第一个可行区间右端点覆盖询问区间,就是最优的 考虑扫描线,枚举右端点,对于当前还没有找到答案的询问,取左端点最大的去找答案 问题在于怎么快速判断一个 阅读全文
posted @ 2019-03-29 15:06 AKCqhzdy 阅读(295) 评论(0) 推荐(0) 编辑
摘要:连个树剖都打不好 连个李超都打不好 把两点距离弄个树上前缀和化一下就变成y=k*dis[x]+b了 上树剖+李超树找最小、 记得李超树如果要换要把原来的下放啊!! 阅读全文
posted @ 2019-03-18 08:05 AKCqhzdy 阅读(139) 评论(0) 推荐(0) 编辑
摘要:震惊!LCT还能这么用! 这个颜色修改的特点是点到根 搜刮一下性质,颜色从根到某个点是分层次单调增的,而且同一个点的两个不同儿子不会有相同颜色,也就是相同颜色的点是树上自上往下的一条链 前面这些都是次要的,主要是能不能想到并不和LCT的access操作很像 那么我们可以让一棵splay维护一条相同颜 阅读全文
posted @ 2019-02-28 21:17 AKCqhzdy 阅读(180) 评论(0) 推荐(0) 编辑
摘要:填坑 我不知道怎么算的,但是所有环的LCM数不会超过60 然后用线段树维护这个东西,每个节点记录子树内的循环节 没到循环节的暴力枚举 复杂度是nlogn再乘以循环节长度 阅读全文
posted @ 2019-02-27 20:42 AKCqhzdy 阅读(173) 评论(0) 推荐(0) 编辑
摘要:被神仙Rose_max踩爆了这个离线我就会啊 把每个区间在线段树上分裂开,然后当一个区间空了就给那个孩子--,每个区间都变成0答案就++ 阅读全文
posted @ 2019-02-22 16:11 AKCqhzdy 阅读(112) 评论(0) 推荐(0) 编辑
摘要:Star_Feel大爷是最强的 这道题我的想法是把每种数字分开做,然后再合并 现在不知道为什么就写了这种树上差分+下标是数字的线段树合并(其实都一样) 那就这样吧 阅读全文
posted @ 2019-02-01 11:33 AKCqhzdy 阅读(188) 评论(1) 推荐(0) 编辑
摘要:调了一早上80pt不知道那里错了。。。结果发现我看错题意了。。。一个清洁工扫的是区间而不是点。。。 先离散化 首先对于一个人它扫了地,他影响的其他人是一个区间 而且每个区间都只会被扫一次,所以我们可以暴力枚举 那么算法的架构已经出来了:线段树维护清洁工清理区间长度的最小值,然后每次选出一个清洁工,就 阅读全文
posted @ 2019-01-31 14:32 AKCqhzdy 阅读(170) 评论(0) 推荐(0) 编辑
摘要:我好垃圾a,这个傻逼题都不会 首先无脑把小球扔下来到达的点的顺序搞出来,这个东西其实不是很好搞。。。我是用一个链表,当前节点为根的子树中,就按孩子子树的最小值为序一个挨一个把每个孩子子树的链表连起来,当前点放最后,然后记录个头记录个尾 然后相当于在树上建立到序列的映射,扔球就是在序列找前x个变黑,在 阅读全文
posted @ 2019-01-24 09:02 AKCqhzdy 阅读(105) 评论(0) 推荐(0) 编辑
摘要:填坑计划。。。 这是历史最值线段树的裸蹄,考察的也就是对打(xjb)标(tao)记(lun)的应用,也就是merge函数 考虑在维护最大值的基础上记录历史最值,以及一个历史最值懒标记 假设这个懒标记为二元组(add,cover)表示历史最值是当前的最大值(未下放最大值的懒标记)加上add,或就是co 阅读全文
posted @ 2019-01-12 10:28 AKCqhzdy 阅读(167) 评论(0) 推荐(0) 编辑
摘要:口胡 我们容易得到一个费用流的做法,流出k的流量分配给各个点,各个点向下一个点流费用为它的价值的边,然后汇总到ed 观察发现对于流一次,相当于选择了一个区间 如果流了反向边,相当于减去了这一段 可以用线段树维护区间最大值,选了某个区间就把整个区间里的值取反 阅读全文
posted @ 2019-01-11 15:04 AKCqhzdy 阅读(167) 评论(0) 推荐(0) 编辑
摘要:留了几天的坑终于填了。。。 这个东西是线段树取区间最值问题。。。在吉司机16的论文里面。。。 其实就是让修改值和区间次大比较,假如次大较小就可以只改最大值,维护一下就可以了 注意到标记大小是按深度递增递增的 阅读全文
posted @ 2019-01-09 07:50 AKCqhzdy 阅读(149) 评论(0) 推荐(0) 编辑
摘要:原来我早就能过了。。。就是数组开小了。。。。 这是一个最小割的题 但是因为加了线段树优化构图变得恶心了 构图的时候需要注意的:同层的点向前建边,插入的链上的每一个点都要和当前的i位置连边 阅读全文
posted @ 2019-01-06 18:17 AKCqhzdy 阅读(167) 评论(0) 推荐(0) 编辑
摘要:上线段树分治 它删除的边的总数不会很大,我们可以维护一条边在那一段时间里面是存在的 阅读全文
posted @ 2019-01-03 07:53 AKCqhzdy 阅读(151) 评论(0) 推荐(0) 编辑
摘要:我是弟弟。。。左左睿的神题还是另外一题的真子集 首先令点权为和它相连的边权异或和,容易发现一个点集的割就是点权和 但是m次线性基肯定是不行的 学了个新东西,线段树分治 首先他的下标是时间 对于一个点,他的权值反映在时间轴上就是多段权值 然后插入到线段树上,容易证明如果是一段相同的权值,最多会被拆成l 阅读全文
posted @ 2018-12-29 16:02 AKCqhzdy 阅读(282) 评论(0) 推荐(0) 编辑
摘要:noip怎么考这种东西啊。。。看错题场上爆零凉了 首先我们先进行树链剖分,那么问题可以转换成重链的答案+其他子节点的答案 而每次修改相当于改一段重链的答案,改一次其他子节点的答案交替进行 这样只有一个好处,就是把问题转换成序列问题,可以用线段树优化 fx,1表示不选当前点的最优解,fx,2表示选 方 阅读全文
posted @ 2018-11-22 13:30 AKCqhzdy 阅读(162) 评论(0) 推荐(0) 编辑
摘要:被亮亮D飞啦!!QWQ 这题明明是最大权闭合子图+线段树优化构图好不好 被迫考虑DP,并且考虑f[i]表示到第i个位置的最大值(第i个位置可选可不选) 对于最终的答案,我们可以分割成一段一段的,也就是多段区间 枚举这个断点,断点以后的全选,前面的就通过继承得到,f[i]=f[j]-(sc[i]-sc 阅读全文
posted @ 2018-10-29 09:37 AKCqhzdy 阅读(171) 评论(0) 推荐(0) 编辑
摘要:很有趣的一道题233 一维送分的,排序后弄个指针扫描维护当前最远能够听见的位置即可 二维我会肝两次分治,后来看claris博客发现可以把曼哈顿距离换成切比雪夫距离,要满足|xi-xj|<=D&&|yi-yj|<=D 这样就好做了,转化成区间问题扫描线+线段树水 三维不管高,然后同样的转换,因为m很小 阅读全文
posted @ 2018-10-25 13:02 AKCqhzdy 阅读(252) 评论(0) 推荐(0) 编辑
摘要:秉承ACM团队合作的思想懒,这篇blog只有部分题解,剩余的请前往星感大神Star_Feel的blog食用(表示男神汉克斯更懒不屑于写我们分别代写了下...) C. Cloud Computing 扫描线搞一搞区间(主席树也OK啊,只是空间玄学,主席树理论空间nlogn实际上开小那么10倍8倍没什么 阅读全文
posted @ 2018-10-23 15:02 AKCqhzdy 阅读(478) 评论(0) 推荐(1) 编辑
摘要:之前GDOI的时候了解过,随机数据的用途就是在其中找一段单调上升/下降的子序列期望长度为logn 然而这道题还是不懂怎么用的说。。 首先考虑对于i<j<k,若ci>cj>ck则对于k来说i是无用的。 也就是说对于当前点k,我们需要找到一个后往前单调下降的子序列并且这些数都比c[k]大 对于比c[k] 阅读全文
posted @ 2018-10-18 10:56 AKCqhzdy 阅读(335) 评论(0) 推荐(0) 编辑
摘要:比赛的时候开G开了3h结果rose说一句那唯一一个AC的是羊的心态就崩了。。 这套题感觉质量挺好然后就back了下 A: AI robots 有三个限制条件;相互能够看见和智商的差。使用主席树,可以维护两个状态,分别是其中一个“看见”和“智商”,这样的做法就无法利用K<=20的条件了。 利用扫描线+ 阅读全文
posted @ 2018-09-27 17:37 AKCqhzdy 阅读(284) 评论(0) 推荐(0) 编辑

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