随笔分类 -  线段树

摘要:题目大意:有一棵树根为1,刚开始每条边的权值为1, 现在有m + n - 1 个操作, A :x y , 将x和y相连的边权值变为1, W:x, 询问x到1路径上的权值和。 思路 : 方法一: 用dfs序建立树状数组, 每个点入栈位置的值为1, 出栈为-1, 询问的值就是sum( l [ x ] ) 阅读全文
posted @ 2018-05-07 21:23 NotNight 阅读(155) 评论(0) 推荐(0)
摘要:二维线段树单点修改板子题 阅读全文
posted @ 2018-05-07 14:25 NotNight 阅读(184) 评论(0) 推荐(0)
摘要:思路:把边看成点,然后每条边只能从下面的边转移过来,我们将边按照u为第一关键字,w为第二关键字排序,这样就能用线段树维护啦。 阅读全文
posted @ 2018-04-09 16:55 NotNight 阅读(130) 评论(0) 推荐(0)
摘要:题目大意:给你一个由0-9组成的字符串,有m个询问,两种操作,第一种将l到r的字符全部变成c,第二种问l到r这段 字符串的循环节是不是d。 思路:首先我们要知道怎么判断字符串的循环节的长度是不是d,如果这个字符串小于等于d,那么肯定是的,否则,如果l 到 r-d 和l+d 到 r 这两段字符串则循环 阅读全文
posted @ 2018-02-18 23:16 NotNight 阅读(147) 评论(0) 推荐(0)
摘要:D - Inna and Sequence 线段数维护区间有几个没有被删除的数,利用线段树的二分找第几个数在哪里,然后模拟更新就好啦。 阅读全文
posted @ 2018-02-06 16:46 NotNight 阅读(144) 评论(0) 推荐(0)
摘要:题目大意:有n( n<1e5 )只队伍参加程序竞赛,然后给m个信息,每个信息告诉你第p 个队伍过了一题,并且告诉你罚时是多少,让你输入每个信息之后,第一个队伍的 排名。 思路:一眼看过去就像数据结构题,我们可以用足够大的数表示过了一题然后减去罚时, 这样就可以用一个数值来确定排名,然后我们用将所有出 阅读全文
posted @ 2017-10-15 17:59 NotNight 阅读(348) 评论(0) 推荐(0)
摘要:题目大意:有n个人,每个人都有三个物品,排名分别为a[ i ],b[ i ],b[ i ],现在要删掉其中的一些人 如果一个人x的三个物品的排名为a[ x ],b[ x ],b[ x ],若存在另一个人y物品排名为a[ y ],b[ y ],b[ y ], 且a[ y ]<a[ x ] && b[ 阅读全文
posted @ 2017-09-29 13:50 NotNight 阅读(207) 评论(0) 推荐(0)
摘要:题目大意:给你n(n<=1e9)条垂直于x轴或者与x轴平行的线,问你这些线占了多少个点。 写的时候感觉就是一道线段树,可是想不出来,后来题解说可以转化成面积问题,就知道 怎么写了,是一道线段树加扫描线求面积并的问题。 思路:将一条线转化为宽度为1的矩形,然后用线段树+扫描线+离散化求面积并就行了, 阅读全文
posted @ 2017-08-20 16:25 NotNight 阅读(260) 评论(0) 推荐(0)