线段树
文章平均质量分 56
tylon2006
这个作者很懒,什么都没留下…
展开
-
线段树小结
一些常见?小技巧一.区间查询形如[l,r][l,r][l,r](l∈[1,n],r∈[l,n]l\in[1,n],r\in [l,n]l∈[1,n],r∈[l,n])的序列统计问题,常使用枚举左端点,快速计算对应的右端点的总答案的方式。例如洛谷P6477 [NOI Online #2 提高组] 子序列问题先不考虑重复,那答案则显而易见,然后去重枚举左端点l,明显[l,r]中有s个重复时答案为(r−l+1−s)2(r-l+1-s)^2(r−l+1−s)2对于每个重复点都会对后面的重复点造成s+1的原创 2021-08-11 08:34:22 · 147 阅读 · 0 评论 -
CF464E The Classic Problem
Description给定一张 n 个点,m 条边的无向图,每条边的边权为 2xi2^{x_i}2xi ,求 s 到 t 的最短路,结果对 109+710^9+7109+7取模。n,m,x≤105。n, m, x \leq 10^5。n,m,x≤105。Solution不难想但是难调到死。。。正常dijkstra最短路。容易想到可以用线段树处理加法操作,用线段树维护边权和的二进制表示。直接线段树上查询单点修改位置是否为0,0则改成1,否则将前面一串连续1置为0再在前一位单点修改为1。这里原创 2021-01-25 20:05:11 · 107 阅读 · 0 评论 -
BZOJ 4712 洪水
Description小A走到一个山脚下,准备给自己造一个小屋。这时候,小A的朋友(op,又叫管理员)打开了创造模式,然后飞到山顶放了格水。于是小A面前出现了一个瀑布。作为平民的小A只好老实巴交地爬山堵水。那么问题来了:我们把这个瀑布看成是一个n个节点的树,每个节点有权值(爬上去的代价)。小A要选择一些节点,以其权值和作为代价将这些点删除(堵上),使得根节点与所有叶子结点不连通。问最小代价。不过到这还没结束。小A的朋友觉得这样子太便宜小A了,于是他还会不断地修改地形,使得某个节点的权值发生变化。不过到这还原创 2020-10-29 18:35:31 · 127 阅读 · 0 评论 -
Atcoder [arc082F] Sandglass
Description有一个沙漏由两个上下相通玻璃球A和B构成,这两个玻璃球都含有一定量的沙子,我们暂且假定AB中位于上方的玻璃球的为U,下方的玻璃球为L,则除非U中没有沙子,否则每秒钟都会有1克沙子从U掉入L。在第0个时刻,A中有a克沙子,B中有X−a克沙子(总共有X克沙子),且U为A,L为B(即A上B下)。在r1,r2,…,rK这些时刻,我们将倒转整个沙漏,使得原来的U变成L,原来的L变成U。对于翻转操作,t时刻是指从第0个时刻起经过t秒后的时刻,我们可以将翻转沙漏的操作看做瞬间完成的。现在有Q原创 2020-10-22 18:17:36 · 173 阅读 · 0 评论 -
洛谷P5354 [Ynoi2017]由乃的OJ
Description由乃正在做她的OJ。现在她在处理OJ上的用户排名问题。OJ上注册了n个用户,编号为1~",一开始他们按照编号排名。由乃会按照心情对这些用户做以下四种操作,修改用户的排名和编号:然而由乃心情非常不好,因为Deus天天问她题。。。因为Deus天天问由乃OI题,所以由乃去学习了一下OI,由于由乃智商挺高,所以OI学的特别熟练她在RBOI2016中以第一名的成绩进入省队,参加了NOI2016获得了金牌保送Deus:这个题怎么做呀?yuno:这个不是NOI2014的水题吗。。。De原创 2020-08-22 12:11:37 · 219 阅读 · 0 评论 -
P3293 [SCOI2016]美味
Description给出一个长度为n的序列,m询问,每次询问求出[l,r]范围内的每一个数加上x再与b异或能够得到的最大值。Input第1行,两个整数,n,m,表示菜品数和顾客数。第2行,n个整数,a1,a2,…,an,表示每道菜的评价值。第3至m+2行,每行4个整数,b,x,l,r,表示该位顾客的期望值,偏好值,和可以选择菜品区间。1≤n≤2×105,0≤ai,bi,xi<105,1≤li≤ri≤n(1≤i≤m);1≤m≤1051≤n≤2×10^5,0≤ai,bi,xi<10^5,1≤li原创 2020-08-20 17:45:28 · 151 阅读 · 0 评论 -
【bzoj4504】K个串
Description兔子们在玩k个串的游戏。首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只被统计一次)。兔子们想知道,在这个数字序列所有连续的子串中,按照以上方式统计其所有数字之和,第k大的和是多少。Input第一行,两个整数n和k,分别表示长度为n的数字序列和想要统计的第k大的和接下里一行n个数a_i,表示这个数字序列Output一行一个整数,表示第k大的和Solution考虑维护结尾为位置[1,n]的串,一原创 2020-08-18 17:10:16 · 189 阅读 · 0 评论 -
洛谷P2633 Count on a tree
Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。Input第一行两个整数N,M。第二行有N个整数,其中第i个整数表示点i的权值。后面N-1行每行两个整数(x,y),表示点x到点y有一条边。最后M行每行两个整数(u,v,k),表示一组询问。OutputM行,表示每个询问的答案。Solution二分套树或树套原创 2020-08-17 16:41:16 · 143 阅读 · 0 评论 -
【bzoj4372】烁烁的游戏
Description给一颗n个节点的树,边权均为1,初始点权均为0,m次操作:Q x:询问x的点权。M x d w:将树上与节点x距离不超过d的节点的点权均加上w。Input第一行两个正整数:n,m接下来的n-1行,每行三个正整数u,v,代表u,v之间有一条边。接下来的m行,每行给出上述两种操作中的一种。Output对于每个Q操作,输出当前x节点的皮皮鼠数量。Solution遇到深度,那么就要想树分治。考虑重心之间容斥解决。维护两颗线段树分别表示点分树某重心子树内到它的距离原创 2020-08-17 11:26:47 · 101 阅读 · 0 评论 -
洛谷P4140 奇数国
Description在一片美丽的大陆上有100000个国家,记为1到100000。这里经济发达,有数不尽的账房,并且每个国家有一个银行。某大公司的领袖在这100000个银行开户时都存了3大洋,他惜财如命,因此会不时地派小弟GFS清点一些银行的存款或者让GFS改变某个银行的存款。该村子在财产上的求和运算等同于我们的乘法运算,也就是说领袖开户时的存款总和为3100000。这里发行的软妹面额是最小的60个素数(p1=2,p2=3,…,p60=281),任何人的财产都只能由这60个基本面额表示,即设某个人的财产原创 2020-08-11 15:42:38 · 312 阅读 · 0 评论 -
noip2019集训测试赛(四)A.fibonacci
Description给定一个长度为 N 的序列 A={a1,a2,…,an} .M 次操作, 每次操作形如下面两种中的一种:1 l r x 将 al,al+1,...,ara_l,a_{l+1},...,a_ral,al+1,...,ar 都加上 x ;2 l r 求∑i=lrf(ai) mod (109+7)\sum_{i=l}^rf(a_i)\ mod\ (...原创 2019-09-05 13:08:30 · 366 阅读 · 0 评论 -
noip2019集训测试赛(三)B.mex
Description给你一个无限长的数组,初始的时候都为0,有3种操作:操作1是把给定区间[l,r] 设为1,操作2是把给定区间[l,r] 设为0,操作3把给定区间[l,r] 0,1反转。一共n个操作,每次操作后要输出最小位置的0。Input第一行一个整数n,表示有n个操作接下来n行,每行3个整数op,l,r表示一个操作Output共n行,一行一个整数表示答案Solu...原创 2019-09-04 13:45:45 · 213 阅读 · 0 评论 -
noip2019集训测试赛(六)C.恐怖分子
Description有一个 n×m 的网格和 q 名旅行者。初始时第 i 名旅行者在网格 (xi,yi) 上。不幸的是,这 n×m 个网格中,有 K 个网格里是有恐怖分子的,所以这 K 个网格是不安全的。为了安全起见,旅行者可以从初始坐标 (x1,y1) 走到网格 (x2,y2) 当且仅当对于所有满足 min(x1,x2)≤x≤max(x1,x2),min(y1,y2)≤y≤max(y1,...原创 2019-08-22 21:32:51 · 167 阅读 · 0 评论