线段树
文章平均质量分 82
鹭天
敦立坤我是你爹
展开
-
【题解 && 优化dp】 B - Base Station Construction
我刚开始其实想从线段入手,但是发现重叠的部分根本不好处理,以至于我被卡了思路,一直到结束。这样表示显然是没问题的,因为除了第一个基站,其他基站的设立必定是存在上一个基站的。表示必须在第i个点建设基站,并且i号点之前的线段全部满足要求时所需要的最小代价。我们注意到题目要求:每一条线段上都必须要有一个基站存在。但是这个j显然不能乱找,怎么样去找这个j才是合法的呢?当dp状态设定不好的时候,我们不妨从最简单的部分出发。建基站的位置(注意,是上一个!这个j的位置显然是需要经过预处理的。一个是点,一个是线段。原创 2024-01-19 14:17:34 · 527 阅读 · 0 评论 -
【题解 && 线段树】[蓝桥杯 2022 省 A] 选数异或
给定一个长度为n的数列A1A2⋯An和一个非负整数x, 给定m次查询, 每次询问能否从某个区间lr中选择两个数使得他们的异或等于x。原创 2023-11-02 11:29:04 · 463 阅读 · 0 评论 -
【题解 && 线段树优化DP】Pillars
题目传送门 题目描述: Solution 我们根据做最长子序列最长子序列最长子序列时的经验设dpdpdp状态: f[i]f[i]f[i]表示匹配了前i−1i-1i−1个数,且第iii个数必须匹配的最大长度 很容易得到以下的转移式:f[i]=maxj=1i−1f[j]+1 (∣a[i]−a[j]∣>=d)f[i] = max_{j=1}^{i-1}f[j]+1\ \ (|a[i]-a[j]|>=d)f[i]=maxj=1i−1f[j]+1 (∣a原创 2020-08-17 20:24:59 · 368 阅读 · 0 评论 -
【数据结构】 线段树
……线段树可是一个高端的东西。 一、啥是线段树 信息迅速发端的现在,人们已经发明出一个又一个算法以及数据结构。当人们嫌人眼校对会有错误,又会引起眼神疲劳时,人们发明了KMP;当人们嫌前缀和麻烦,效率不够,不能修改时,人们想到了树状数组;当人么又嫌树状数组只能单点修改不能区间修改时,人们,人们,人们,又想到了———— 线段树线段树线段树 没错,线段树就是一个支持区间修改和区间查询的一个高级数据结构...原创 2019-03-28 19:45:10 · 178 阅读 · 1 评论 -
【海亮集训 && 题解 && 线段树】 农场分配
题目描述: armer John最近新建立了一个农场,并且正在接受奶牛的畜栏分配请求,有些 畜栏会看到农场美妙的风景。 农场由N (1 <= N <= 100,000) 个畜栏组成,编号为1…N,畜栏i可以最多容纳C_i只奶牛 (1 <= C_i <= 100,000)。奶牛i希望得到连续的一段畜栏,表示为一段区间 (A_i,B_i) 。 这样的话奶牛可以在这段牛棚里面转悠...原创 2019-07-05 11:10:04 · 239 阅读 · 0 评论 -
【金华集训 && 笔记】 Day 5 笔记——树链剖分
笔记 树链剖分:顾名思义,就是对树的链不断地剖,不断地分。 链的分类: 1、重链剖分 2、长链剖分 重链剖分:每次从最重的儿子剖下去 以sz[u]表示u的结点个数 长链剖分:每次找最深的儿子剖下去 为啥重链剖分比长链剖分好??? 如果对于一棵树,每个节点的儿子都很深 长链剖分就可能会经过n\sqrt nn条链 直接崩掉 证明:重链剖分O(logn)O(logn)O(logn) 对于每个...原创 2019-08-01 22:09:00 · 141 阅读 · 0 评论