
倍增/RMQ((ST/二维ST/二维线段树/KD树)
文章平均质量分 70
ST/二维ST/二维线段树/KD树
小衣同学
No Saturday , no Sunday , no holiday .
展开
-
Codeforces Round 972 (Div. 2) D. Alter the GCD(二分+gcd性质)
不妨枚举l,注意到 gcd(a[l,r]),gcd(b[l,r]),gcd(a[r+1,n]),gcd(b[r+n]) 有一个不同的 r 只有 O(log) 个。求换完之后的gcd(a1,a2,...,an)+gcd(b1,b2,...,bn)的最大值。操作:选择区间[l,r],将a的[l,r]区间和b的[l,r]区间的数一一对应互换。每次给定n(n<=2e5)和两个长为n的数组a,b(1<=ai,bi<=1e9)当然枚举r也可以,这里是枚举r然后二分那log种的,复杂度O(nlog^3),原创 2024-09-17 01:32:49 · 938 阅读 · 1 评论 -
Educational Codeforces Round 155 (Rated for Div. 2) F. Last Man Standing(ST表/dp的松弛思想)
区间求最大值,st表O(nlogn)预处理一下,然后O(1)求,总复杂度O(nlogn)当对人造成x点伤害时,如果x<当前血量,血量减少x,否则,扣掉一条命,令血量回满。最后阵亡的玩家,假设在第a轮阵亡,而倒数第二个阵亡的玩家,假设在第b轮阵亡,则最后阵亡的玩家的分数为a-b(a=b时,得分为0),其他玩家的分数为0。对于每个玩家i,独立地求,正整数x任意设置时,玩家i能获得的最大得分。而在ai的地方被枚举到的时候,等于答案的值可以取到,所以,可以枚举每个x,对于x倍数枚举y,对于[1,y]内的值v来说,原创 2023-09-30 14:58:32 · 231 阅读 · 0 评论 -
Codeforces Round 892 (Div. 2) F. Teleportation in Byteland(多源dijkstra+lca&树倍增+分类讨论)
此外,u到lca前半段,lca到v后半段,两段的式子会有不同,所以需要分别维护mn和mn2数组。在加油站,每加一次油的时间是T(1<=T<=1e6),每个点可以无数次加油。可能会考虑说,第二步中,如果x对应的y在x和v之间,是不需要从y回到x的,初始速度v是1,每加一次油,当前速度v就会乘2,而通过一条边的时间是。不过,此时链上x处的答案,会不如y处的答案,所以还是不影响最优解的。q(q<=1e5)次询问,每次给出u、v,询问从u到v的最短时间。对于每组询问,先算一个不加油的时间,然后考虑加油的情况,原创 2023-08-21 01:26:23 · 316 阅读 · 0 评论 -
Codeforces Round 890 (Div. 2) C. To Become Max(二分 补写法 二分套二分)
给定一个长度为n(n原创 2023-08-07 00:57:21 · 346 阅读 · 0 评论 -
Codeforces Round #634 (Div. 3) F. Robots on a Grid(dfs基环内向树/倍增)
题目t(t<=5e4)组样例,每次给定一个n*m(n*m<=1e6)的格子图,开始一个01矩阵表示(i,j)处是黑色(0)还是白色(1),然后输入一个RLDU矩阵表示机器人处于这个位置时,下一秒会向右/左/下/上走一格,保证边线处的字母不会使机器人越界,且保证所有的n*m之和小于等于1e6第一问求最大的摆放机器人数,使得任意时刻两个机器人不会在同一坐标上第二问求...原创 2020-04-23 11:31:28 · 258 阅读 · 0 评论 -
Educational Codeforces Round 66 (Rated for Div. 2) (B思维、C枚举、D思维、E经典倍增)
心得体验较差,一方面是Bwa了若干发,然后看别人代码就很简单另一方面是D其实是一个简单题,然而碍于前面受挫没做出来B - Catch Overflow!维护一个x(0<=x<=(1ll<<32)-1),l(l<=1e5)次操作,操作分三种①for v 开一个执行v次的循环(1<=v<=100)②end 终止上一次循环③add 对...原创 2019-06-06 19:21:44 · 359 阅读 · 6 评论 -
hdu6194 string string string(后缀数组+RMQ)
题目给你一个串(串长<=1e5),一个k(k>=1)问串中恰好出现k次的子串有多少个思路来源https://www.cnblogs.com/weeping/p/7503972.html题解先建后缀数组和high数组,high[i]代表排名为i和排名为i-1的最长公共前缀注意到出现k次的子串长度的上界为长度为k-1的区间的最小值而出现k+1次的子...原创 2019-03-01 16:09:47 · 261 阅读 · 0 评论 -
2018 Multi-University Training Contest 5 G(倍增/逆序ST)
G.Glad You Came(逆序ST)rng61()函数生成长度为3*m(m<=5e6)的f[],给定一个长度为n(n<=1e5)的a[],初始全为0,通过f有关的函数得到m次区间赋值操作,第i次操作[li,ri,vi],表示将a[]的[l,r]赋值为max(a[i],v),即每个点保留历史时刻被赋值的最大值,求思路来源马老师代码题解考虑正向ST...原创 2019-10-05 18:00:05 · 264 阅读 · 0 评论 -
牛客国庆集训派对Day1 J-Princess Principal(合法栈序列/RMQ)
题目https://ac.nowcoder.com/acm/contest/201/J给你一堆数字代表的括号,括号种类m、个数n均为1e6级别1e6个询问q,每次询问[l,r]内的括号是否合法思路来源https://blog.csdn.net/oidoidoid/article/details/82943127(傅老师%%%)题解题解1:如果一个子区间合法,那么这段...原创 2019-05-03 20:59:55 · 256 阅读 · 0 评论 -
poj3368 Frequent values(ST思维题)
题目有n(n<=1e5)个数字,m(m<=1e5)次询问,每次询问区间[Li,Ri]中出现最多次数的数字,输出最多次数。题目保证,对于思路来源https://blog.csdn.net/qq_24489717/article/details/51040122题解首先,尺取处理出,对于值v来说,它是第几个出现的v由于数组是不降的,所以相同的值是挨在一起的...原创 2019-04-18 20:05:03 · 326 阅读 · 0 评论