![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
zwjdd_qwq
这个作者很懒,什么都没留下…
展开
-
「Usaco2013 Dec」最优挤奶
这一题实际上就是线段上的最大独立集 因为带了修改,所以还有了点动态DP的意思?? 比较暴力的写法是对于每次改值操作,全部重新DP 那肯定过不去 想想原因,因为每次重新DP重复计算了太多了计算过的值 而且,对于连续一段来说,他并没有后效性,就是不影响后面的选择 同时,后面的选择也不影响前面的 那么单点更新,可不可以每次调用以前算过的解呢? 当然可以,于是我们引出了线段树 因为要求独立集而且无前后效性...原创 2019-10-17 20:48:22 · 149 阅读 · 0 评论 -
洛谷P3960 列队(动态开点权值线段树)
我们考虑每个人离队后对队列的影响,我们可以得出结论,只会对当前行和最后一行产生影响,我们先看在m的特殊情况。 第(m,i)的人从队伍中离开,跑到了最后一位,我们假设后面的人不往上补充,而是往后多了一个人,这时变成了(m,n+1),我们开一个vector来维护这个序列,而在线段树中,我们采用类似于前缀和的方式找位置,比如第(l+r)/2位空了,现在的前(l+r)/2位只有(l+r)/2-1位,那么我...原创 2019-08-16 16:44:49 · 193 阅读 · 0 评论 -
CF498D Traffic Jams in the Land
此题确实是妙,用到了题目的每一个小细节 先是全题的重中之重,对于每一条路,他的拥堵值一定小于等于6 这意味着什么,因为要对拥堵值取模,我们的累计时间就可以提前进行取模 这样就可以表示出该节点的状态了 讲的比较混乱,我们来说代码 我们使用线段树,区间权值的意义是,在时间iii跑到lll点,到达r+1r+1r+1需要多长时间 这样对于查询操作我们只需要区间求和即可 如何实现呢,我们前面也说了,枚举当前...原创 2019-09-12 00:41:59 · 159 阅读 · 0 评论 -
洛谷P2894「Usaco2008 Feb」旅馆
比较简单的线段树维护空区间长度的题目 依稀记得还有一道树上的树剖加强版… 主要思想,维护当前区间内左右端点往中心能拓展的最长距离 #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<algor...原创 2019-10-08 20:11:59 · 160 阅读 · 0 评论 -
P1848「Usaco2012 Open」书架
这是一道我题解都差点没看懂的题目,DP和线段树融合的出神入化 注释应该写的挺清楚 #include<iostream> #include<cstdlib> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #define lch(x) ...原创 2019-10-09 00:20:35 · 128 阅读 · 0 评论