![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
Nightmare丶
登高必自卑,行远必自迩
展开
-
Codeforces - 620E. New Year Tree
题目链接题解:颜色数比较少,考虑用二进制表示颜色,对于重复颜色的处理,直接按位与当成一种颜色就行了,询问就是答案的二进制中有多少个1就有多少中颜色了。代码:/* * @Author : Nightmare */#include <bits/stdc++.h>using namespace std;#define ll long long#define ull unsigned long long#define PII pair<int,int>#define原创 2020-11-12 14:45:21 · 92 阅读 · 0 评论 -
P3097 [USACO13DEC]最优挤奶Optimal Milking
题意简述:给定n个点排成一排,每个点有一个点权,多次改变某个点的点权并将最大点独立集计入答案,输出最终的答案题解:用线段树进行区间DP,维护最大点集给每个线段树的结点增加一个f[0/1][0/1]数组,表示左右结点是否选取的最大点集和,比如f[0][0]就为左右端点都不取的情况下的最大点集合,在pushup里面维护,然后单点更新后在根节点上取4种情况的max即可注意维护时因为两个相邻的...原创 2020-01-27 21:41:10 · 403 阅读 · 0 评论 -
BZOJ 1067: [SCOI2007]降雨量(线段树/RMQ)
Description我们常常会说这样的话:“X年是自Y年以来降雨量最多的”。它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年。例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未知,有的说法是可能...原创 2019-12-31 15:31:23 · 137 阅读 · 0 评论 -
BZOJ 1012: [JSOI2008]最大数maxnumber
Description现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且...原创 2019-12-30 21:03:01 · 81 阅读 · 0 评论 -
SP1716 GSS3 - Can you answer these queries III(线段树)
题意:n 个数,q 次操作操作0 x y把A_x修改为yy操作1 l r询问区间[l, r] 的最大子段和题解:用线段树维护区间合并问题每个结点维护4个信息:左边连续子段和,右边连续子段和,区间总和,最大子段和1.区间总和很容易求。2.左边连续子段和:由左儿子的左连续子段和 或者 左儿子的区间和 + 右儿子的左连续子段和3.右边连续子段和:同理由右儿子的又连续子段和 或者 ...原创 2019-12-18 23:54:06 · 141 阅读 · 0 评论 -
[Wannafly挑战赛14 B 前缀查询](Trie+线段树)
题意:在一个 Minecraft 村庄中,村长有这一本小写字母构成的名册(字符串的表),每个名字旁边都记录着这位村民的声望值,而且有的村民还和别人同名。随着时间的推移,因为没有村民死亡,这个名册变得十分大。现在需要您来帮忙维护这个名册,支持下列 4 种操作:1. 插入新人名 si,声望为 ai2. 给定名字前缀 pi 的所有人的声望值变化 di3. 查询名字为 sj 村民们的声望值的...原创 2019-11-24 14:30:11 · 122 阅读 · 0 评论 -
Codeforces 1207 G. Indie Album
题意:有nnn次操作,对于第iii个操作由下列两种方式的一种给出111 ccc ,该字符串只含一个字符ccc222 xxx ccc,该字符串为第x(1≤x≤i)x(1≤x≤i)x(1≤x≤i)个字符串末尾添加一个字符ccc得到然后有Q次询问,每次询问给出一个字符串sss和位置编号xxx,问在第xxx个字符串中,字符串sss出现了几次题解:ACACAC自动机,树状数组/线段树,d...原创 2019-11-10 15:23:09 · 154 阅读 · 0 评论 -
BZOJ 1396: 识别子串(SAM+线段树)
题意:题解:SAM+线段树先建出SAM,根据题意,只有endposendposendpos集合大小为111的结点才能造成贡献。对于每一个endposendposendpos集合大小为111的我们都能算出maxlenmaxlenmaxlen和minlenminlenminlen,显然ⅡⅡⅡ区域内每个点的贡献就是ⅡⅡⅡ区域的长度,ⅠⅠⅠ区域内每个点的贡献就是到ⅡⅡⅡ区域的距离加上ⅡⅡⅡ区域...原创 2019-11-10 01:32:50 · 126 阅读 · 0 评论