随笔分类 -  线段树

摘要:题意:给定n个数,m个询问,每次询问一个区间内所有连续子区间的gcd的和。n,m<=10^5 题解: 这题和之前比赛的一题很像。我们从小到大枚举r,固定右端点枚举左端点,维护的区间最多只有log段。为什么?以为长区间的gcd肯定是短区间gcd的约数,并且要是不同的话至少要/2,最多那就只有log数值 阅读全文
posted @ 2016-11-12 08:15 拦路雨偏似雪花 阅读(1770) 评论(0) 推荐(0)
摘要:题意:给一串括号,有2个操作,1。翻转某个括号。2。查询某段区间内化简后第k个括号是在原序列中的位置。1 ≤ N,Q ≤ 200000. 题解: 可以知道,化简后的序列一定是)))((((这种形式的。 线段树每个节点就存对应区间内化简后的ls也就是)的数量,rs也就是(的数量。 然后我先把区间[l, 阅读全文
posted @ 2016-11-12 08:13 拦路雨偏似雪花 阅读(574) 评论(0) 推荐(0)
摘要:901: Zju2112 Dynamic Rankings Description 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以 阅读全文
posted @ 2016-11-04 21:59 拦路雨偏似雪花 阅读(2888) 评论(2) 推荐(4)
摘要:第一道主席树~然而是道比较水的。。。因为它不用修改。。。 转载一个让我看懂的主席树的讲解吧:http://blog.csdn.net/regina8023/article/details/41910615 (未授权,侵权删) 那么如果要询问i-j之间数字出现的次数怎么办呢? 因为每一棵线段树的区间都 阅读全文
posted @ 2016-11-04 20:16 拦路雨偏似雪花 阅读(692) 评论(0) 推荐(0)
摘要:题意:给出N个数,M个操作。操作有修改和询问两种,每次修改将一个数改成另一个数,每次询问一个区间的所有连续子区间的异或和。n,m<=100000,ai<=1000 题解: 当年(其实也就是今年)做不出来的题。。D1T1啊。。。 因为ai<=1000,我们可以拆位处理。拆成10个二进制位,每位开1棵线 阅读全文
posted @ 2016-11-03 22:19 拦路雨偏似雪花 阅读(2596) 评论(0) 推荐(0)
摘要:poj2182题意:有一个1~n的排列,现在给定每个人前面有多少个人的编号比他大,求这个排列是什么。n<=8000 poj2182题解: 逆序做,可以确定二分最后一个是什么,然后删除这个数。树状数组维护每个数前面有多少个数比它小。 poj2828题意:有 n 个人排队买票,他们依次到来,第 i 个人 阅读全文
posted @ 2016-11-03 11:32 拦路雨偏似雪花 阅读(315) 评论(0) 推荐(0)
摘要:题意如图 题解:这题非常类似与矩形面积并,也是维护一个被覆盖了一次以上的线段总长。 但是周长要算新出现的,所以每次都要和上一次做差求绝对值。 x轴做一遍,y轴做一遍。 但是有个问题:矩形边界重合的时候的处理。举个例子,在处理x轴的时候: 怎么处理呢?我们在对y排序的时候把下边界(下边界+1,上边界- 阅读全文
posted @ 2016-11-03 10:11 拦路雨偏似雪花 阅读(469) 评论(0) 推荐(0)
摘要:题意大概就是上图这个样子。<=100组测试数据,每组<=1000个矩形。 题解: 这个问题怎么解决。。做了上一题矩形面积并应该就会了。。 对于每个节点维护3个值: cnt:该节点所代表的这条线段被覆盖了多少次 len1:该节点所管理区间中被覆盖了>=1次的线段总长 len2:该节点所管理区间中被覆盖 阅读全文
posted @ 2016-11-03 08:20 拦路雨偏似雪花 阅读(306) 评论(0) 推荐(0)
摘要:分割线内容转载自http://hzwer.com/879.html 第一次做线段树扫描法的题,网搜各种讲解,发现大多数都讲得太过简洁,不是太容易理解。所以自己打算写一个详细的。看完必会o(∩_∩)o 顾名思义,扫描法就是用一根想象中的线扫过所有矩形,在写代码的过程中,这根线很重要。方向的话,可以左右 阅读全文
posted @ 2016-11-02 19:55 拦路雨偏似雪花 阅读(3689) 评论(2) 推荐(7)
摘要:题解: 感觉这题和别人的做法不一样。。。呵呵呵。。。调了一百年。。 设家坐标为(a,b),对于每个点(x,y),可以转化为|a-x|+|b-y|<=k 对于每个点,它的影响范围是一个菱形(也就是一个正方形啦。。),也就是一个图上有若干个正方形。 然后我就把这个坐标轴选择了45度。 好难画不画了,正交 阅读全文
posted @ 2016-11-01 21:10 拦路雨偏似雪花 阅读(301) 评论(0) 推荐(0)
摘要:题解: 这题非常经典啊似乎。。经典模型要记住啊。。 对于每个节点维护该区间里的最大的连续区间,然后我们就可以logn递归找最前面的一段。 那就维护mx(无限制),lmx(必须从左边开始),rmx(必须从右边开始)。 代码: 阅读全文
posted @ 2016-11-01 15:05 拦路雨偏似雪花 阅读(362) 评论(0) 推荐(0)
摘要:我们可以想到一个dp方程:f[i][0]表示当前在i个栅栏的左端点,f[i][1]表示在右端点。 分两种情况: 第一种:假设现在要更新线段gh的左端点g,而它下来的路径被ef挡住了,那么必定是有ef来更新g。 为什么呢?因为其它点走到g必定要下落,比如说d到g,就相当于d到f再到g。 第二种:假设到 阅读全文
posted @ 2016-11-01 11:51 拦路雨偏似雪花 阅读(473) 评论(0) 推荐(0)
摘要:题解: 矛盾只有两种情况: 一.先前确定了x在区间(l,r),但是现在发现x在区间(l1,r1),并且两个区间不相交。 二.一个区间的最小值是x,这个区间中有一个子区间的最小值比x更小。 首先可以明确,对于每个x,我们可以不断地缩小x的范围(取区间的交集)。 那就先处理第一种矛盾,假设第一种矛盾第一 阅读全文
posted @ 2016-10-31 17:11 拦路雨偏似雪花 阅读(614) 评论(0) 推荐(0)