
算法_线段树
rzO_KQP_Orz
新博客地址:http://kqp.world/,优快云内容已不再维护
展开
-
【JZOJ4939】平均值 题解
题目大意 给定一个长度为 n 的序列 a1,⋯ ,an,求所有区间的 mex 平均值之和,即∑l=1^n∑r=l^n mex(al,al+1,⋯ ,ar)/r−l+1...原创 2020-03-30 11:52:30 · 443 阅读 · 0 评论 -
【THUSC2017】大魔法师 题解
题目大意 维护三个长度为 n 的序列 A,B,C,支持以下 7 种操作:(操作数为 m)1 l r:对 [l,r],Ai←Ai+Bi;2 l r:对 [l,r]...原创 2020-02-17 21:00:41 · 365 阅读 · 0 评论 -
【CF1209G】Into Blocks (easy+hard) 题解
题目大意 一个序列是好的,当且仅当,若两个元素相等,则它们之间的所有元素都相等,比如 [3,3,3,4,1,1]。 现在有一个初始序列 a1,⋯ ,an,你要把它修改成好的。如果你把一个值为 x 的元素改成 y,那么所有值为 x 的元素都要改成 y。求最少需要修改多少个位置。...原创 2019-10-17 00:00:00 · 481 阅读 · 0 评论 -
【2019 Wannafly Winter Camp Day5 C】Division 题解
题目大意 你有一个数列 a1,a2,⋯,an。你可以进行这样的一次操作,每次选择数列中其中一个数然后将其除 2 下取整,也就是选择一个数 ai,变成 ⌊ai/2⌋。 一共有 q 个询问,每次你考虑数列中 [l,r] 这段数,对这些数字进行不超过 k 次操作,这些数字的总和最小值可能是多少。原创 2019-06-26 22:51:22 · 277 阅读 · 0 评论 -
【2018icpc Regional Dhaka G】Techland 题解
题目大意有一棵 n 个点的树,点编号 1~n。有 Q 次操作,操作有三种类型:1 X L R:公司 X 在编号属于 [L,R] 的点上各开一家商店。如果该公司曾经有过商店,则它以前的商店全部清除,只算这次的。2 X:公司 X 的商店全部清除。3 C M P_1 P_2 ... P_M:有个人在 C 号点,他指定了他喜欢的公司为 P_1~P_M,你要找到一个离 C 最近的点,使得这个点有他喜欢的公司开的商店。求这个距离。原创 2019-04-25 20:34:11 · 392 阅读 · 0 评论 -
【Hackerrank World11】Road Trip 题解
题目大意 ~~~~~~从左到右有 n 个城市,第 i 个城市到第 i+1 个城市的距离是 w[i]。到达第 i 个城市可以免费获得 g[i] 的油,你也可以自己另外买油,第 i 个城市的单价是 p[i]。 ~~~~~~现在 q 次询问,每次问 x[i] 到 y[i] 的最小花费。 ~~~~~~n, q<=1e5, g, p, w<=1e6【40%】n, q<=1原创 2017-05-31 15:49:43 · 754 阅读 · 0 评论 -
用线段树维护树的直径
目的~~~~~~有时候我们需要快速回答一棵子树的直径,或者去掉一棵子树后形成的树的直径。普通的找直径方法是两遍bfs,时间O(n),这里的方法用O(log)的时间回答。操作首先~~~~~~我们做出一棵树的dfs序,然后以dfs序为轴建立线段树,每个区间维护直径 len,以及直径的两个端点 x 和 y。 ~~~~~~会有这么一个问题:你按线段树划分区间,那一个区间原创 2016-08-22 21:54:40 · 4026 阅读 · 1 评论 -
【搬自usaco2015Dec】【JZOJ4684】卡牌游戏 题解
usaco原题叫 High Card Low Card【题目大意】 ~~~~~~有2n张牌,分别是1~2n。WWT有其中的n张牌,你有另n张。 ~~~~~~游戏规则本来是这样的:每一回合,你和WWT同时打出一张牌,谁大谁赢。但是,你可以在任意一个时刻将游戏规则改为“谁小谁赢”,但你只能改一次。 ~~~~~~现在给定WWT的牌和出牌顺序,求你最多赢多少局。原创 2016-08-14 22:56:09 · 1431 阅读 · 3 评论 -
【ZJOI2017】树状数组 题解
题目大意 ~~~~~~有一个错误的树状数组,它的修改往前走,询问往后走(find(0) 的时候返回 0)。 ~~~~~~现在有一个初始全 0 的序列,有两种操作: ~~~~~~1 x y:在区间 [ x, y ] 中等概率随机一个 i,然后 a[i]=(a[i]+1)%2 ~~~~~~2 x y:询问 ( a[x]+…+a[y] )%2原创 2017-03-25 07:56:39 · 1654 阅读 · 2 评论 -
【Hackerrank World9】【JZOJ5020】Box Operations 题解
题目大意~~~~~~给出一个长度为 n 的序列。 ~~~~~~有 4 种操作: ~~~~~~1 l r c:给 a[l]~a[r] 加上 c;(c 可为负) ~~~~~~2 l r d:给 a[l]~a[r] 除以 d 下取整;(⌊−0.5⌋=1\lfloor-0.5\rfloor=1) ~~~~~~3 l r:求 a[l]~a[r原创 2017-03-17 17:01:05 · 559 阅读 · 0 评论 -
最大m子段和问题
普通版题目大意~~~~~~一个长度为 n 的序列 a[1..n],让你从中选出 m 个连续段,使得选出来的和最大。【O(nm)】~~~~~~设 f[i, j] 表示前 i 个数,共选了 j 个连续段,所得到的最大和。 ~~~~~~设 g[i, j] = max( f[1..i, j] ), 设 S 表示 a 的前缀和。 ~~~~~~f[i, j]=原创 2016-09-25 13:58:06 · 1722 阅读 · 0 评论 -
【JZOJ4727】挺进 题解
题目~~~~~~ETG的地图是树形的,相邻房间有一定距离。一开始,系统会随机断掉一条边,然后把四个宝箱两两分布在每个联通块的最远点对上。 ~~~~~~一开始,小Z会出生在一个有宝箱的房间,然后他走到有另外一个宝箱的所在地,接着系统把他送到另一个联通块的某个宝箱处,然后小Z走到最后一个宝箱处,就通关了。 ~~~~~~小Z想知道他最多会走多少距离。原创 2016-08-22 21:19:57 · 1655 阅读 · 0 评论 -
【JZOJ4587】Snow的追寻 题解
题目大意 ~~~~~~有一棵有 n 个节点的根节点为 1 的树,他只能走一条不经过重复节点的路径。 ~~~~~~给出 q 个形如“x y”的询问,表示他不能走到 x 和 y 的子树中。现在他想知道对于每组询问,他能走的最长路径是多少,如果没有,输出0。 ~~~~~~n, q<=10^5【显然】 ~~~~~~可走的地方还是一棵树,而我们要求的路径就是这棵原创 2016-08-22 20:59:01 · 1844 阅读 · 2 评论