主席树/线段树
主席树/线段树
_Shmily
这个作者很懒,什么都没留下…
展开
-
石油大--2020年秋季组队训练赛第十二场----J、Greedy Termite(线段树)
题面:题意:给定正整数 nnn 和起始位置 sss。nnn 表示有 nnn 个杆子,每个杆子由属性 (xi,hi)(x_i,h_i)(xi,hi) 构成,表示在 xix_ixi 处有一根高度为 hih_ihi 的杆子。初始时在 sss 杆子处。每爬到一个杆子(途径不算)我就会把这个杆子扔掉。从当前位置要去的下一个杆子符合以下条件:加上当前在杆子 iii 处。(1)当前还在场上的杆子。(2)选择hj−∣xi−xj∣h_j-|x_i-x_j|hj−∣xi−xj∣ 最大的杆子。(3原创 2020-09-28 12:56:53 · 185 阅读 · 0 评论 -
2020 Multi-University Training Contest 2---- HDU--6770、Dynamic Convex Hull (离线、分治)
题目连接题面:题意:有一个四次函数的集合 fi(x)=(x−ai)4+bif_i(x)=(x-a_i)^4+b_ifi(x)=(x−ai)4+bi。有以下三种操作(1)111 aaa bbb ,往集合中添加新的四次函数 fn+1=(x−a)4+bf_{n+1}=(x-a)^4+bfn+1=(x−a)4+b,然后n=n+1n=n+1n=n+1(2)222 ttt ,从集合中删除 ft(x)f_t(x)ft(x)(3)333 xxx ,在当前集合中询问 fi(x)f_i(x)fi原创 2020-09-01 14:27:06 · 351 阅读 · 0 评论 -
2020 Multi-University Training Contest 2---- HDU--6766、Diamond Rush(dp、思维)
题目连接题面:题意:给定一个 n∗nn*nn∗n 的矩阵,每个点都有一个权值 (n2)ai,j(n^2)^{a_{i,j}}(n2)ai,j,左上角为 (1,1)(1,1)(1,1) ,右下角为 (n,n)(n,n)(n,n)。从(1,1)(1,1)(1,1) 出发,每次只能往右或者往下走。有 qqq 次查询,每次查询给出一个子矩阵 (xl,xr,yl,yr)(xl,xr,yl,yr)(xl,xr,yl,yr),问如果子矩阵中的点不能走,从 (1,1)(1,1)(1,1) 到 (n,n)(n,原创 2020-09-01 10:42:27 · 270 阅读 · 0 评论 -
石油大--Contest2022 - 2020年秋季组队训练赛第二场--17107 Problem K、Addition Robot(线段树)
题面:题意:给定一个仅由 A,BA,BA,B 组成的字符串,支持两种操作。(1)111 lll rrr,对 [l,r][l,r][l,r] 区间的字符进行翻转处理,即 AAA 变为 BBB ,BBB 变为 AAA。(2)111 lll rrr aaa bbb ,利用 [l,r][l,r][l,r] 区间的字符对 a,ba,ba,b 进行操作,如果 s[i]=As[i]=As[i]=A,那么 a=a+ba=a+ba=a+b,如果 s[i]=Bs[i]=Bs[i]=B ,那么 b=a+bb=a+原创 2020-08-30 20:42:48 · 179 阅读 · 0 评论 -
2020 Multi-University Training Contest 5---- HDU--6824、Exam (2-sat,线段树优化建图)
题目链接题面:题意:有 nnn 门考试,每门考试有两个时间段可以进行 [a,a+at],[b,b+bt][a,a+at],[b,b+bt][a,a+at],[b,b+bt],每门考试必须选择其中的一个时间段进行,且两门考试的时间严格不相交。即 [3,5],[5,7][3,5],[5,7][3,5],[5,7]进行两门考试是不合法的。问完成 nnn 门考试的最短时间。题解:上面是官方题解:我们把考试转换为 2−sat2-sat2−sat 问题(显然要转化为2−sat2-sat2−sat)。原创 2020-08-29 21:23:02 · 203 阅读 · 0 评论 -
Codeforces Round #406 (Div. 1)--B. Legacy (线段树优化建图,最短路)
题目链接题面:题意:给定一张图,求 SSS 点到其他点的最短路。图以以下形式给出:(1) 111 xxx yyy www ,有一条从 xxx 到 yyy 的边权为 www 的有向边。(2) 222 xxx lll rrr www,xxx 向区间 [l,r][l,r][l,r] 中的点每个点都连接一条边权为 www 的有向边。(3) 333 yyy lll rrr www,区间[l,r][l,r][l,r] 中的点每个点都向 xxx 连接一条边权为 www 的有向边。题解:直接连边是行不原创 2020-08-29 09:29:28 · 145 阅读 · 0 评论 -
2020 Multi-University Training Contest 3---- HDU--6793、Tokitsukaze and Colorful Tree(离线+树状数组)
题目链接题面:题意:给定一棵树,根节点为1,每个点有颜色和权值两个属性。我有两种操作,更改某个点的颜色或者更改某个点的权值。询问每次更改之后∑color[x]==color[y] and x,y互不为祖先val[x] xor val[y]\sum\limits_{color[x]==color[y]\space and \space x,y互不为祖先}val[x]\space xor \space val[y]color[x]==color[y] 原创 2020-08-27 13:38:44 · 165 阅读 · 0 评论 -
HDU - 5390 tree (可持久化字典树+线段树)
题目vj链接题面:题意:给定一棵有根树,根节点为1,节点 iii 的权值为 vivivi。有以下两种操作:(1) 0 x y ---- 将节点 xxx 的权值改为 yyy(2) 1 x ---- 查询 vx xor vtv_x\space xor\space v_tvx xor vt 的最大值,其中 t∈path(x,root)t \in path(x,root)t∈path(x,root)题解:①、考虑不带修改vxv_xvx 是一个已知的原创 2020-08-26 17:18:11 · 202 阅读 · 1 评论 -
计蒜客----Distance on the tree (树上主席树)
题目链接题面:题意:给定一棵带边权的树,问(x−y)(x-y)(x−y)的路径上权值小于等于kkk的边有多少条。题解:建立树上主席树,ans=ans(1−x)+ans(1−y)−2∗ans(1−lca(x,y))ans=ans(1-x)+ans(1-y)-2*ans(1-lca(x,y))ans=ans(1−x)+ans(1−y)−2∗ans(1−lca(x,y))其中ans(1−x)ans(1-x)ans(1−x)表示,路径1−−x1--x1−−x上面权值小于等于kkk的边数,这是主席树的基原创 2020-08-25 09:55:48 · 178 阅读 · 0 评论 -
2020牛客暑期多校训练营(第八场) A、All-Star Game(线段树分治、LCT)
题目链接题面:题意:有 nnn 个球员,mmm 个粉丝。一个粉丝可能喜欢多个球员。现在要从 nnn 个球员中选出一些球员来参加比赛,使得所有的粉丝都愿意观看这场比赛。某个粉丝喜欢观看这场比赛的条件满足以下之一即可:(1)粉丝 iii 喜欢的球员 jjj 在这场比赛中。(2)粉丝 xxx 喜欢观看球员 jjj 的比赛,粉丝 i,xi,xi,x 都喜欢观看球员 yyy 的比赛,那么粉丝 iii 喜欢观看球员 jjj 的比赛。给定 qqq 次喜欢关系的改变,每次询问至少选出多少球员,才能让所有原创 2020-08-25 09:29:20 · 175 阅读 · 0 评论 -
#121. 「离线可过」动态图连通性 (线段树分治)
题目链接题面:题解:线段树分治。(1)有一些操作,每个操作只在 l−rl-rl−r 的时间段内有效。(2)有一些询问,每个询问询问某一个时间点所有操作的贡献。离线,时间线段树上维护按秩合并可撤销并查集。时间复杂度 O(nlog2n)O(nlog^2n)O(nlog2n)代码:#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include&l原创 2020-08-25 09:29:10 · 3015 阅读 · 0 评论 -
2020牛客暑期多校训练营(第四场) A、Ancient Distance(dfs序、线段树)
题目链接题面:题意:给定一棵有根树,根节点是1号节点,在上面选择k个关键点。每个点的权值定义为该点与其最近关键祖先的距离(其祖先中是关键点且距离该点最近的那一个),若其祖先中没有关键点则权值为正无穷,若其本身就是关键点则权值为0。整棵树的权值定义为所有点的权值的最大值。问通过某种方法安排这k个关键点,使得这棵树的权值最小。输出∑k=1nval(treek)\sum_{k=1}^nval(tree_k)∑k=1nval(treek)题解:假设我们现在已经知道了这棵树的权值为 x,那么最少需要原创 2020-08-25 09:27:36 · 135 阅读 · 0 评论 -
2020牛客暑期多校训练营(第二场) H、Happy Triangle (平衡树、线段树)
题目链接题面:题意:给定一个多重集合,有以下三种操作。1。往集合里面插入一个数x。2。从集合里面删除数x。3。给定x询问集合中是否有两个数a,b,使得a,b,x三个数能组成一个非退化的三角形。(就是正常的三角形)。官方题解:题解:考虑每个询问 x。我们设有其他两边 a<=b若x是最长的边,那么需要a+b>x,我们可以选择小于x的最大的和次大的数来判断。若x不是最长边,那么需要a+x>b,转化一下,x>b-a 我们可以找最小的 b-a 来判断。我们需要找小原创 2020-08-25 08:41:06 · 146 阅读 · 0 评论 -
P3302 [SDOI2013]森林 (树上主席树+启发式合并)
题目链接题面:题解:路径上第 k 大用树上主席树完成。合并的时候直接小树往大树上合并(启发式合并)。时间复杂度大概O(n logn logn),也不太会算。#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#define ll long long#define原创 2020-08-25 08:03:19 · 118 阅读 · 0 评论 -
P3168 [CQOI2015]任务查询系统 (主席树)
题目链接题面:题解:将 ( s , e , p) 拆分为(s,p)和(e+1,-p)按照第一键值升序排序,对于每一个(t,p)的二元组,在第 t 棵主席树上的abs(p)位置加上p。查询时,在第 xi 棵主席树上查询前 ki 个数的和。代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#inclu原创 2020-08-25 08:02:17 · 151 阅读 · 0 评论 -
P3157 [CQOI2011]动态逆序对 (树状数组,线段树)
题目链接题面:代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#define ll long long#define llu unsigned ll#define pr make_pair#define pb push_back#define y1 y原创 2020-08-25 08:01:50 · 98 阅读 · 0 评论 -
P2468 [SDOI2010]粟粟的书架(主席树)
题目链接题面:代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#define ll long long#define llu unsigned ll#define pr make_pair#define pb push_back#define y1 y原创 2020-08-24 22:31:40 · 183 阅读 · 0 评论 -
“美登杯”上海市高校大学生程序设计邀请赛 (华东理工大学) E. 小花梨的数组 (线段树)
题目链接题面:题解:线段树上每个节点维护该节点上的数唯一分解之后的 p 和 e因为除法会使其不同的质因子减少,乘法不会。所以遇到有可能使质因子减少的情况就一直更改到底即可。因为质因子总个数不会超过20个,所以,遇到质因子减少的情况就往下更改,每个点被更改的次数的期望不超过20次时间复杂度O(n * (logn + 20))#include<iostream>#include<cstdio>#include<cstdlib>#include<a原创 2020-08-24 22:12:21 · 117 阅读 · 0 评论 -
VK Cup 2015 - Qualification Round 1 D. Closest Equals (主席树)
题目链接题面:题意:给定一个数组 ai,有m个询问,每个询问给定 l ,r 去区间 [ l , r ] 中相同的数字的最近距离。题解:考虑主席树。当前是第 i 个数据,即 a [ i ] , 设 p [ a [ i ] ] 是 a [ i ] 之前离 a [ i ] 最近的相同的数的位置。那么在第 i 棵树上的 p [ a [ i ] ] 位置 更新最小值为 a [ i ] - p [ a [ i ] ]考虑查询 l ,r我们在第 r 棵树上查询 l 以后的最小值。因为本身就原创 2020-08-24 22:09:54 · 182 阅读 · 0 评论