线段树
文章平均质量分 56
santongding
这个作者很懒,什么都没留下…
展开
-
18-2-10 刷题心得
又是刷水题的一天。。。题目:scoi2005 最大子矩阵 一个比较noip的区间dp,然而我还是脑残地卡了好几个小时; 这题数据范围比较小,有很多不同的做法; 我的做法是dp[i,k,j,o]表示当前扫到了前i行,选了k个矩阵,状态是j,o的最大值; j,o的状态是指如果j=0,第2列第i个位置往前数o行一定没有被选;j=1,第1列第i个位置往前数o行一定没有被选; 如果j=2,指怎...原创 2018-02-11 00:14:04 · 209 阅读 · 0 评论 -
18-2-11 刷题心得
本来今天要学fft的,结果还是没看下去。。。看来达到我智商的瓶颈了QAQ 题目cqoi2011 动态逆序对 比较裸的树状数组套线段树,然而还是卡了我好久。 因为这题很友好所以不用离散化; 以位置为主席树的时间轴,权值为主席树上的区间建树; 那么每次加一个数的时候的贡献就是之前出现的数中值比这个数大的个数; 对于修改,套一个树状数组,将修改的位置对之后的影响用树状数组全部消...原创 2018-02-11 23:38:48 · 182 阅读 · 0 评论 -
bzoj 2957 楼房重建(线段树)
bzoj 2957 楼房重建这题是集训时讲到的,感觉不错就做了做;先把每个楼的高度除以xi,这样得到的斜率ki,然后求一个从左往右开始左边优先选的最长上升序列;首先我想到的做法是,用线段树来维护,每个点存当前区间内合法的那个序列的最小值和最大值以及长度,每次改完一个值一路update上去,update时先把左区间的答案加上去,再在右区间内找一段大于左区间合法序列的最大值的合法序列;...原创 2018-03-29 22:18:50 · 206 阅读 · 0 评论 -
bzoj4919 大根堆(线段树合并)
bzoj4919也是雅礼集训考的一题。。。似乎不必要用线段树合并,用个set也能又好又快的水过去。。。先考虑最简单的树形dp怎么做;设dp[i][j]表示当前在i节点并且选的最大不超过j的答案是多少;考虑用动态开点的线段树来维护dp数组 对于每一个节点,只需要先把其儿子的dp数组加起来,这就对应线段树合并操作;又因为我用的标记永久化,每一次修改对应区间直接相加;再根据自...原创 2018-03-28 19:10:13 · 1290 阅读 · 0 评论 -
吉司机线段树(segment tree beats!)
sdoir1考挂,本来都要退役了。。。结果还是进了二轮末尾。。。打算混个D类去养老;最近有点颓,需要写些东西和学些新东西止一下颓势,就先把这几星期前学的神奇线段树写了吧。。。吉司机线段树主要是用来解决序列区间上满足部分满足一定性质的修改操作的,比方说把区间中小于x的数改成x,大于x的数改成x,甚至是区间取并和区间取或(实际上也就是区间中的每个数的每一位进行类似小于x改成x那种操作)这玩...原创 2018-04-24 00:31:35 · 8946 阅读 · 0 评论