上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: #【李超线段树应用】【斜率优化】 李超树可以用于维护斜率优化。 ##斜率优化的维护 一般来说,斜率优化有三种维护方式: 维护凸包 对于状态转移方程:\(f(i)=A(i)B(j)+C(i)+D(j)\) 可以写成:\(D(j)=-A(i)B(j)+f(i)-C(i)\) 把所有的决策点$j$,计作二 阅读全文
posted @ 2022-03-03 15:43 glq_C 阅读(176) 评论(0) 推荐(0)
摘要: #【树链剖分&李超线段树】【 [SDOI2016]游戏】【题解】 ###前置知识:李超线段树 ###[SDOI2016]游戏 ###题目大意 给定一棵树,每次在一条链上加入一条以深度为下标的线段,每次查询一条链上的最小值。 ###Solution 加入线段和查询最值,可以想到用线段树维护,又因为是对 阅读全文
posted @ 2022-03-03 14:58 glq_C 阅读(53) 评论(0) 推荐(0)
摘要: #【李超线段树】【学习笔记】 ###问题引入 ####Segment 对于区间修改操作,可以联想到线段树。但是容易发现标记(即同一个区间内的两条线段)并不能快速合并。 于是我们可以采用标记永久化,即李超线段树。 ###算法步骤 0. 线段树每个节点保存:区间范围(l,r),一条线段(k,b,id) 阅读全文
posted @ 2022-03-02 17:53 glq_C 阅读(85) 评论(0) 推荐(0)
摘要: #【左偏树】【模板】 ###定义 首先定义一个点的dist为: 若该节点是外节点(即左儿子或右儿子为空),则dist=1,否则dist就等于左右儿子dist的较小值+1; 那么左偏树是一个堆的集合,而且满足对于任意一个点都有:右儿子的dist<=左儿子的dist ###用途 支持O(log N)的时 阅读全文
posted @ 2022-02-24 16:20 glq_C 阅读(76) 评论(0) 推荐(0)
摘要: ###题目内容 ###Solution 对于每个询问可以拆分成4个前缀矩形的求和,容易发现,前缀矩形的求和相当于是求一个二维偏序,可以用树状数组或cdq分治在nlogn的复杂度内完成。 ###Code #include<bits/stdc++.h> using namespace std; #def 阅读全文
posted @ 2022-02-20 15:46 glq_C 阅读(58) 评论(0) 推荐(0)
摘要: ##Problem 三维偏序的模板题。 ###Solution: 经典做法是,先排序控制一维,再用cdq分治控制一维,最后用数据结构(通常是树状数组)维护一维。 cdq分治还可以嵌套,每嵌套一次,复杂度乘一个log,可以拓展到n维偏序(但超过3维,效率就很低了,通常会使用kd-tree),因此,这题 阅读全文
posted @ 2022-02-20 15:39 glq_C 阅读(122) 评论(0) 推荐(0)
摘要: #【矩阵乘法&快速乘模板】【题解】【刷题比赛】 ###P1707 刷题比赛 Solution: 很明显是一道矩阵乘法加速递推,只是推转移矩阵比较复杂。 做这种题的思路是: 如果递推为线性递推,且暴力递推次数很多,可以考虑矩阵优化 先根据要计算的信息,列出一个行数为1的状态矩阵,设为$F_n$。 再仿 阅读全文
posted @ 2022-02-18 17:24 glq_C 阅读(177) 评论(0) 推荐(0)
摘要: ###题目传送门 题目大意: 给定一个序列,初始全为0,每次区间赋值为一个数,求最终的序列。 Solution: 观察数据范围,nlog n的时间复杂度无法通过此题,考虑线性做法。 可以将操作离线下来,则每个点第一次被覆盖时即为答案。 那么我们需要一个数据结构,能够帮助我们快速跳过已修改过的点。 这 阅读全文
posted @ 2022-02-16 21:22 glq_C 阅读(54) 评论(0) 推荐(0)
摘要: #【粟粟的书架】【题解】 ###题目传送门 ###Solution 数据范围分为两部分,第一部分二分,第二部分主席树。 其实一开始没想到第一部分怎么做,因为我原本想直接二分排名,但前缀和没法维护排名。 但是实际上二分选取的数的最小值一样能做,而且可以容易用前缀和维护。(可以记住这个trick) 第二 阅读全文
posted @ 2022-02-10 14:36 glq_C 阅读(45) 评论(0) 推荐(0)
摘要: #【主席树】【模板】 刚学主席树,理解还不是很深,先粘一下板子吧。 ###模板1 ###Code #include<bits/stdc++.h> using namespace std; inline int read() { register int x=0,w=1; register char 阅读全文
posted @ 2022-02-10 09:55 glq_C 阅读(38) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页