随笔分类 - 数据结构--线段树
摘要:$n \leq 300000$的一个排列,每次能交换相邻两个数,并且有一次机会交换不相邻的两个数,可以不用这个机会。问使这个排列升序最少操作几次。 如果没有“不相邻”,那就是当年入门的时候学的逆序对了。也就是说,这次机会希望把逆序对数尽可能减少。把排列变成点放在二维平面上,$(i,a_i)$,可以发
阅读全文
摘要:$n \leq 500000$个区间,从中挑出一些,使得至少有一个点被$m$个选中区间包含,且选中区间长度的极差最小。 区间题死脑筋晚期:把区间按左端点排序,然后右端点用个优先队列来弹,然后需要维护下标相差$m$的数字差的最值,可以在$n^2$的时间完美拿到签到题的60分。 求极差嘛,就是关注最大最
阅读全文
摘要:$n \leq 1000000$个操作:一,给$x$加上$a*2^b$;二,问$x$的某个二进制位$k$。$b,k \leq 30n$,$|a| \leq 1e9$。 30暴露了一切。。可以把30个二进制位压一位,进位用线段树找到第一个0,而退位用类似的方法找到第一个1。 但其实第$k$位只由加的总
阅读全文
摘要:$n \leq 100000$的树支持$m \leq 100000$个操作:每个点有两个权值$a$和$b$,一,链加;二,链上$b_i+=a_i*d$,问最后所有的$b_i$。 这个题我在看到之前有想过链上的情况,当时以为标记是O(1)下传的就没细想。现在看来需要一些特殊技巧。首先链剖加线段树。 方
阅读全文
摘要:$n \leq 100000$个矩形,一个一个覆盖在坐标系上,每个颜色都不一样,问最后能看到几种颜色。 由于后面的颜色可以覆盖前面的颜色,可以把颜色与时间联系上,第$i$个矩形颜色$i$来把时间维变成Max,接下来就是二维操作。 把矩形差分后按$x$排序可以得到一个y轴上的区间操作:区间加上或删除某
阅读全文
摘要:$n \leq 1e5$的树,$m \leq 1e5$个操作:链加;换根;查子树最值。 链剖:随便选个根,换根就记一下现在根。查子树最值时,只有原来的根到现在根这段的子树信息是怪怪的,但也只是挑掉一段子树而已,相当于查dfs序中前缀和后缀的最值。 LCT:不大会。。
阅读全文
摘要:$n \leq 100000$的序列支持$q \leq 100000$个操作:区间加;区间除下取整;求区间和;求区间Min。数字$-1e9 \leq a_i \leq 1e9$,区间加$-1e4 \leq c \leq 1e4$,除数$2 \leq d \leq 1e9$。 线段树。为了不除可以这样
阅读全文
摘要:$n \leq 200000$的序列,支持以下$q \leq 4e4$个操作:区间异或$k$;查询区间能异或出多少不同的数。数字$0 \leq a_i \leq 1e9$。 大概是要区间线性基。区间修改用差分。异或也是可以差分的:$b_i=a_i \ \ xor \ \ a_i-1$,则$a_l,a
阅读全文
摘要:$n \leq 100000$的树,有点权,$m \leq 100000$个操作:链加一非负数;查链上绝对值之和。初始数字$-1e8 \leq a_i \leq 1e8$,加的数字$0 \leq d \leq 1e8$。 因为一直加正数所以负数变正数只会发生$n$次,每次发生这件事时暴力改即可。链剖
阅读全文
摘要:$n \leq 100000$个点,在$0 \leq x \leq 39989$,$0 \leq y \leq 1e9$的坐标系中,在线进行以下操作:加入一条线段;查询$x=k$这条直线上最上面的线段是谁。 看范围知道是线段树(雾) 区间记录区间的中点处最靠上的线段,这样询问的时候把线段树走到那个点
阅读全文
摘要:$n \leq 500000$个数字,给实数$k$,问用这些数字填上的,满足$d_i \geq d_{\left \lfloor \frac{i}{k} \right \rfloor}$的字典序最大的序列。 如果数字不同的话按后序遍历从大到小填就行了。 如果数字相同的话就不行。比如输入4 2 1 1
阅读全文
摘要:$n \leq 100000$的数列给$m \leq 300000$的询问,每次问一个区间里选两个数差的最小值。数字$\leq 1e9$。 根号算法: 无脑莫队加个平衡树或者权值线段树来查前驱后继是$n \sqrt{n} log_2n$的。 如果只有删除可以用链表实现,所以想办法去掉插入操作。对左端
阅读全文
摘要:$n \leq 100000$$,$2*n$的网格资磁以下操作:两个相邻点连边;两个相邻点断边;两个点查连通性。 线段树还能这么用也是想不到QAQ 线段树维护一下连通性。一个区间矩形有四个点,六对连通性记一下(其实记四对也行),可以合并。由于修改边是单修,开仨数组记记即可。 查询的时候注意,如果两个
阅读全文
摘要:$n \leq 200000$的树,有点权,给$m \leq 200000$个询问,每次问$x,k$,$x$向上走$k$步到的点的子树内和$x$同层的,除了$x$以外的点的点权众数。 询问挂点上,全图搜一次。每层开个线段树,合并的时候保留孩子里最长的一个,其他的暴力并过来。 复杂度:看起来是启发式合
阅读全文
摘要:$n \leq 100000$的$a$序列和$m \leq n$的$b$序列,问$a$有多少子串和$b$能匹配。匹配:俩串长度相同,且俩串的数存在一种一一对应的关系使得每一对的和都$>=h$。 把$b$排个序,这样一个$a_i$就能配$b$的一个后缀。设$a_i$能配上后缀$p_i$。一个$b_j$
阅读全文
摘要:$n \leq 5e5$的正负数数列,求长度在$[L,R]$的区间和前$K \leq 5e5$大的区间和的和。 先把区间和变为两个前缀和相减。定一移二,确定区间右端点,然后左端点就是一个范围。用个堆把每个右端点能取得的区间和最大的那个丢进去,咋知道哪个最大?右端点前缀和一定,找左端点在一定范围内的最
阅读全文
摘要:$n \leq 100000$个正整数,$m \leq 100000$个询问,每次问区间$[L,R]$不在这几个数组成的可重集合的子集数字和的集合的最小正整数,说人话就是这几个数瞎选加起来不能凑成的最小正整数。 以为是数学题。。没想到是一主席树。。 可以考察集合里加入一个数之后对集合不能凑成的数的影
阅读全文
摘要:$n \leq 500000$的树给$m \leq 500000$个路径,$q \leq 500000$个询问每次问一个区间的路径交。 路径交口诀:(前方高能) 判有交,此链有彼祖; 取其交,最深两两祖。 说成人话就是:判两条路径有没有交,只要一条链的lca在另一条链上就一定有交;取两条路径的交,把
阅读全文
摘要:$n \leq 2e5,m \leq 2e5,q \leq 2e5$,$n,m$的图给固定的$s,t$,以及$q$个询问,每次问删掉某条边之后问$s$到$t$的最短路。 首先喷一波,出题人语文太差了,这么美的题目居然潦草两句带过背景,描述题目也毫无趣味,差评!(本题分类:语文) 方法一:把图载到一个
阅读全文

浙公网安备 33010602011771号