随笔分类 -  数据结构_线段树

摘要:线段树维护连通性 阅读全文
posted @ 2020-01-18 20:34 LuitaryiJack 阅读(163) 评论(0) 推荐(0)
摘要:李超线段树=。= 阅读全文
posted @ 2020-01-17 21:41 LuitaryiJack 阅读(196) 评论(0) 推荐(0)
摘要:自闭来源、=。= 阅读全文
posted @ 2019-12-21 17:17 LuitaryiJack 阅读(302) 评论(0) 推荐(0)
摘要:动态点分治 阅读全文
posted @ 2019-12-17 23:21 LuitaryiJack 阅读(159) 评论(0) 推荐(0)
摘要:好题 思路:线段树优化建图+拓扑DP or 差分约束(都差不多); 提交:3次 错因:眼瞎没看题,Inf写的0x3f3f3f3f 题解: 类似差分约束的模型,$a define R register int define ll long long using namespace std; names 阅读全文
posted @ 2019-10-17 13:28 LuitaryiJack 阅读(148) 评论(0) 推荐(0)
摘要:又一周连续失智 阅读全文
posted @ 2019-10-15 08:50 LuitaryiJack 阅读(200) 评论(0) 推荐(0)
摘要:思路:数据结构 提交:Inf次 题解: 树状数组套主席树 考虑静态区间第k大是一个前缀主席树,但是如果修改是 $O(nlogn)$ 的,查询时 $O(logn)$ ,考虑去均衡两部分的复杂度,如何均衡的维护前缀和?于是上了树状数组。于是乎主席树 $i$ 维护的是 $[i lowbit(i)+1,i] 阅读全文
posted @ 2019-09-14 07:42 LuitaryiJack 阅读(227) 评论(0) 推荐(0)
摘要:思路:线段树+转化 提交:2次 错因:由于智障没有判断左右端点ORZ 题解: 主要是如何把区间除下取整转化成更适合线段树的一些操作。 给定除数 $d$ ,对于一段区间,若区间只包含 $k d$ 与 $k d 1$ ,我们可以转化成区间减,因为此时做完除法,新的数与原数的差相等,即 $$k d (k 阅读全文
posted @ 2019-08-30 23:18 LuitaryiJack 阅读(214) 评论(0) 推荐(1)
摘要:思路:分块 提交:2次(第一次的求解有问题) 题解: 设块长为$T$,我们开$N/T$个单调栈,维护每一块的上升斜率。 修改时暴力重构整个块,$O(T)$ 求解时记录一个最大斜率$lst$,然后块内二分,求出能看见几个,同时更新$lst$ 时间复杂度$O(N*(T+\frac{N}{T}*log_2 阅读全文
posted @ 2019-07-20 13:02 LuitaryiJack 阅读(209) 评论(0) 推荐(0)
摘要:卸载:把子树清空; 安装:把自己到$1$的链改为$1$ 2019.07.03 阅读全文
posted @ 2019-07-03 19:18 LuitaryiJack 阅读(156) 评论(0) 推荐(0)
摘要:RT. 2019.07.03 阅读全文
posted @ 2019-07-03 19:14 LuitaryiJack 阅读(294) 评论(0) 推荐(0)
摘要:只会两个$log$的$qwq$ 我们二分答案:设答案为$ans$,则我们把$a[i]<=ans$全部设成$0$,把$a[i]>ans$全部设成$1$,扔到线段树里,这样区间排序(升序)就是求出$[l,r]$中$0$(或$1$)的个数$cnt$,然后对区间$[l,l+cnt-1]$赋值为$0$,对$[ 阅读全文
posted @ 2019-07-03 19:11 LuitaryiJack 阅读(184) 评论(0) 推荐(0)
摘要:当初竟然看成子串了$qwq$,不过老师的$ppt$也错了$qwq$ 由于子序列一定是的排列,所以考虑插入$1$到$m$到$n-m+1$到$n$; 如何判断呢?可以用哈希$qwq$; 我们用线段树维护哈希值,合并时用就把左子树的哈希值$x[ls]$在$B$进制下左移$sum[rs]$位,即$x[tr] 阅读全文
posted @ 2019-06-15 23:57 LuitaryiJack 阅读(372) 评论(0) 推荐(0)
摘要:扫描线终于看懂了。。。咕咕了快三个月$qwq$ 对于所有的横线按纵坐标排序,矩阵靠下的线权值设为$1$,靠上的线权值设为$-1$,然后执行线段树区间加减,每次的贡献就是有效宽度乘上两次计算时的纵坐标之差。 $cnt$数组记录每个位置被覆盖的次数,$sum$数组用来记区间总长度(即有效宽度),所以每一 阅读全文
posted @ 2019-06-13 23:47 LuitaryiJack 阅读(227) 评论(0) 推荐(1)
摘要:太神仙了这题。。。 原来的地面上升,可以倒着操作(时光倒流),转化为地面沉降,最后的答案就是每个点的深度。 下面的1,2操作均定义为向下沉降(与原题意的变换相反); 首先这个题目只会操作前缀和后缀,并且只会把前缀中的数(纵坐标)变小(2操作),后缀中的数(横坐标)变大(1操作),所以具有单调性,可以 阅读全文
posted @ 2019-06-01 14:13 LuitaryiJack 阅读(218) 评论(0) 推荐(1)
该文被密码保护。
posted @ 2019-05-31 18:11 LuitaryiJack 阅读(12) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-05-04 16:09 LuitaryiJack 阅读(14) 评论(0) 推荐(1)
摘要:据说某谷数据十分水。。。但幸好BZOJ上也过了。。。话说我记得讲课时讲的是奇奇怪怪的离散化。。但现在突然觉得什么都可以线段树瞎搞了。。。QAQ 直接就是这个区间有没有被覆盖,被覆盖直接return; 如果出现修改,那么就说明它能被看见,++ans 短的一批的线段树(去了不必要的操作码量还是很小的。。 阅读全文
posted @ 2019-04-28 00:00 LuitaryiJack 阅读(144) 评论(0) 推荐(0)
摘要:咕咕了。。。于是借鉴了小粉兔的做法ORZ。。。 其实就是维护最大子段和的线段树,但上面又多了一些操作。。。。QWQ 维护8个信息:1/0的个数(sum),左/右边起1/0的最长长度(ls,rs),整段区间中1/0的连续最长长度(mx)。 于是对于各个操作,我们有了一些tag。。。 tg1[]是区间赋 阅读全文
posted @ 2019-04-27 23:25 LuitaryiJack 阅读(174) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-04-22 20:21 LuitaryiJack 阅读(9) 评论(0) 推荐(0)