随笔分类 -  数据结构--线段树

摘要:http://uoj.ac/problem/291 (题目链接) 题意 一个写错的树状数组有多大的概率与正常树状数组得出的答案一样。 Solution 可以发现这个树状数组维护的是后缀和。 所以二维线段树维护二维数点$(l,r)$,表示左端点$l$与右端点$r$被修改次数相等的几率有多大。 对于$l 阅读全文
posted @ 2017-04-10 16:42 MashiroSky 阅读(468) 评论(0) 推荐(3)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3064 (题目链接) 题意 给出一个长度为$n$的数列$A$,同时定义一个辅助数组$B$,$B$开始与$A$完全相同。接下来进行$m$次操作, 有4种类型: Solution 参考吉利论文。 最恶心的就 阅读全文
posted @ 2017-04-05 08:01 MashiroSky 阅读(477) 评论(0) 推荐(1)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3938 (题目链接) 题意 给出数轴上$n$个点,有$m$个操作,在时间$t$让一个点以一定的速度移动,或者询问时间$t$时距离原点最远的点。 Solution 超哥线段树。时间当做横坐标,负半轴的情况 阅读全文
posted @ 2017-03-31 10:49 MashiroSky 阅读(417) 评论(0) 推荐(2)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1568 (题目链接) 题意 在线维护若干条直线,询问一些横坐标上的最高直线的纵坐标。 Solution 超哥线段树= =。可以说是标记可持久化的一个好的应用吧。 线段树上一个节点为一个容器,可以存放一条 阅读全文
posted @ 2017-03-31 08:24 MashiroSky 阅读(266) 评论(0) 推荐(1)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5306 (题目链接) 题意 区间取$min$操作,区间求和操作,区间求最值操作。 Solution 乱搞一通竟然AC了= =,具体参考吉如一论文。蒯一发上来方便自己以后看嘿嘿。 对线段树中的每一个节点除了维护区间最 阅读全文
posted @ 2017-03-29 22:39 MashiroSky 阅读(837) 评论(0) 推荐(4)
摘要:http://s8pc-3.contest.atcoder.jp/tasks/s8pc_3_f (题目链接) 题意 有一个长度为$N$的数列$A$,初始为$0$。$Q$次操作,每次两个参数$x,y$。 输出最后的$A$序列。 Solution 可以发现,数列$A$肯定是单调不降的,那就非常好做了。 阅读全文
posted @ 2017-03-24 22:59 MashiroSky 阅读(309) 评论(0) 推荐(0)
摘要:http://www.spoj.com/problems/METEORS/ (题目链接) 题意 一个星球上有$m$个空间站排列在一个环形轨道上,每个空间站仅属于一个国家。总共有$K$场流星雨,这些流星雨降落在区间$[l,r]$的空间站并带来$w$的陨石。每个国家想要收获$p_i$的陨石,问每个国家最 阅读全文
posted @ 2017-03-08 19:55 MashiroSky 阅读(347) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/666/E (题目链接) 题意 给出一个主串$S$,$n$个匹配串编号从$1$到$n$。$m$组询问,每次询问主串的一个子串$S[p_l,p_r]$在编号为$[l,r]$的匹配串的哪一个中出现次数最多。 Solutio 阅读全文
posted @ 2017-03-06 09:49 MashiroSky 阅读(537) 评论(1) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3196 (题目链接) 题意 1.查询k在区间内的排名;2.查询区间内排名为k的值;3.修改某一位值上的数值;4.查询k在区间内的前驱(前驱定义为小于x,且最大的数);5.查询k在区间内的后继(后继定义为 阅读全文
posted @ 2017-03-02 16:44 MashiroSky 阅读(356) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2733 (题目链接) 题意 给出图上$n$个点,每个点有一个点权,每次询问一个连通块中点权第$K$小的点是谁,或者连接两个点。 Solution 权值线段树合并。 细节 也许会有负数? 代码 阅读全文
posted @ 2017-03-01 09:13 MashiroSky 阅读(226) 评论(0) 推荐(0)
摘要:http://codeforces.com/problemset/problem/765/F (题目链接) 题意 给出$n$个数的序列,$m$次询问,每次查询区间$[l,r]$之间相差最小的两个数的差。 Solution 迷,右转题解→_→:jump 奇怪的线段树 细节 不造 代码 阅读全文
posted @ 2017-02-27 22:14 MashiroSky 阅读(367) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=4009 (题目链接) 题意 给出一颗无根树。有一些路径记为$P_i$,这些路径有两个端点和一个权值$W_i$。另外一些路径记为$Q_i$,同样有两个端点和一个权值$K_i$。对于每个$Q_i$,询问$P 阅读全文
posted @ 2017-02-22 15:16 MashiroSky 阅读(216) 评论(0) 推荐(0)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=2877 (题目链接) 题意 一个${n*m}$的矩阵,维护两个操作:给任意子矩阵${+val}$;问某一包含点${(X,Y)}$的矩阵内元素的gcd。 Solution 左转题解,参见PoPoQQQ,写 阅读全文
posted @ 2017-02-07 11:00 MashiroSky 阅读(483) 评论(0) 推荐(1)
摘要:http://uoj.ac/problem/228 (题目链接) 题意 给出一个序列,维护区间加法,区间开根,区间求和 Solution 线段树。考虑区间开根怎么做。当区间的最大值与最小值相等时,我们直接对整个区间开根。最坏情况下,一次开根的复杂度最坏是${O(n)}$的,然而每次开根可以迅速拉近两 阅读全文
posted @ 2017-01-29 10:33 MashiroSky 阅读(830) 评论(2) 推荐(2)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1396 (题目链接) 题意 问字符串S每一位的最短识别子串是多长(识别子串指包含这个字符且只出现在S中一次的子串)。 Solution 很简单,搞出后缀数组以后,对于每一个后缀i,都可以求出从i向后延伸 阅读全文
posted @ 2017-01-13 22:23 MashiroSky 阅读(348) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1177 (题目链接) 题意 求矩形周长并。 Solution 转自:http://www.cnblogs.com/Booble/archive/2010/10/10/1847163.html 先看图: 为了解决这个问题 我们先把一坨一坨的矩形 进 阅读全文
posted @ 2016-11-13 20:24 MashiroSky 阅读(1152) 评论(0) 推荐(5)
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=1018 (题目链接) 题意 一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一条道路。一开始每条道路都是堵塞的,堵塞即为不可经过。经过一些操作后,可能某些道路通畅了,也可能某些道路堵 阅读全文
posted @ 2016-10-18 16:02 MashiroSky 阅读(777) 评论(0) 推荐(6)
摘要:http://uoj.ac/problem/222 (题目链接) 题意 有n个区间,当有m个区间有公共部分时,求m个区间长度的最大值与最小值之差的最小值。 Solution 线段树+滑动窗口。这道题很好做,可是在考场上就差一点点,我愣是没想出来。 先将区间按长度排序,保证它们的长度是递增的,这样就可 阅读全文
posted @ 2016-09-27 21:55 MashiroSky 阅读(202) 评论(0) 推荐(0)