
线段树
愤怒的愣头青
这个作者很懒,什么都没留下…
展开
-
【洛谷P3372】【模板】线段树 1
题目描述如题,已知一个数列,你需要进行下面两种操作:将某区间每一个数加上 kk。求出某区间每一个数的和。输入格式第一行包含两个整数 n, mn,m,分别表示该数列数字的个数和操作的总个数。第二行包含 nn 个用空格分隔的整数,其中第 ii 个数字表示数列第 ii 项的初始值。接下来 mm 行每行包含 33 或 44 个整数,表示一个操作,具体如下:1 x y k:将区间 [x, y][x,y] 内每个数加上 kk。2 x y:输出区间 [x, y][x,y] 内每个数的和。输出格式输出原创 2020-07-10 15:52:45 · 285 阅读 · 0 评论 -
【51Nod1681】公共祖先
有一个庞大的家族,共n人。已知这n个人的祖辈关系正好形成树形结构(即父亲向儿子连边)。 在另一个未知的平行宇宙,这n人的祖辈关系仍然是树形结构,但他们相互之间的关系却完全不同了,原来的祖先可能变成了后代,后代变成的同辈…… 两个人的亲密度定义为在这两个平行宇宙有多少人一直是他们的公共祖先。 整个家族的亲密度定义为任意两个人亲密度的总和。 Input 第一行一个数n(1<=n<=100000原创 2017-08-30 18:08:34 · 259 阅读 · 0 评论 -
【51Nod1463】找朋友
给定: 两个长度为n的数列A 、B 一个有m个元素的集合K 询问Q次 每次询问[l,r],输出区间内满足|Bi-Bj|∈K 的最大Ai+Aj数据约定: n,Q<=100000 m <= 10 0<=A[i]<=1000000000 1<=B[i]<=n 1<=K[i]<=n 保证B[i]互不相等 Input n Q m A1 A2 ….An B1 B2 ….Bn K1原创 2017-09-02 16:01:31 · 354 阅读 · 0 评论 -
【51Nod1494】选举拉票
现在你要竞选一个县的县长。你去对每一个选民进行了调查。你已经知道每一个人要选的人是谁,以及要花多少钱才能让这个人选你。现在你想要花最少的钱使得你当上县长。你当选的条件是你的票数比任何一个其它候选人的多(严格的多,不能和他们中最多的相等)。请计算一下最少要花多少钱。Input 单组测试数据。 第一行有一个整数n (1 ≤ n ≤ 10^5),表示这个县的选民数目。 接下来有n行,每一行有两个整数原创 2017-09-19 21:20:10 · 627 阅读 · 0 评论 -
【bzoj2653】middle
Description一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整。给你一个 长度为n的序列s。回答Q个这样的询问:s的左端点在[a,b]之间,右端点在[c,d]之间的子序列中,最大的中位数。 其中a< b < c < d。位置也从0开始标号。我会使用一些方式强制你在线。 Input第一行序列长度n。接下来n行按顺序给出a中的数。原创 2017-10-23 18:42:25 · 213 阅读 · 0 评论 -
【bzoj4636】蒟蒻的数列
Description蒟蒻DCrusher不仅喜欢玩扑克,还喜欢研究数列 题目描述 DCrusher有一个数列,初始值均为0,他进行N次操作,每次将数列[a,b)这个区间中所有比k小的数改为k,他想知 道N次操作后数列中所有元素的和。他还要玩其他游戏,所以这个问题留给你解决。 Input第一行一个整数N,然后有N行,每行三个正整数a、b、k。 N<=40000 , a、b、k<=10^9原创 2017-10-23 19:12:36 · 307 阅读 · 0 评论 -
【51Nod1382】捡石子
地上有一排石子共n个,每一个石子有一个价值,从左到右石子的价值为v[0],v[1],v[2],…,v[n-1]。 有两种操作, 第一种是修改某个石子的价值,输入格式为1 id v0,表示将v[id]变成v0。(0<=id#include<bits/stdc++.h>typedef long long ll;const ll inf=1000000005LL;using namespace原创 2017-10-25 20:28:20 · 650 阅读 · 0 评论 -
【bzoj1593】[Usaco2008 Feb]Hotel 旅馆
Description奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿。这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们在同一层楼中顺次一字排开,在任何一个房间里,只需要拉开窗帘,就能见到波光粼粼的湖面。 贝茜一行,以及其他慕名而来的旅游者,都是一批批地来到旅馆的服务台,希望能订到D_原创 2017-11-03 14:52:59 · 228 阅读 · 0 评论 -
【loj6258】「CodePlus 2017 12 月赛」火锅盛宴
题目描述 SkyDec和YJQQQAQ都是Yazid的好朋友。他们都非常喜欢吃火锅。有一天,他们聚在一起,享受一场火锅盛宴。 在这场火锅盛宴中,有一个麻辣浓汤锅底的火锅和nnn种食物,每种食物数量都是无限的。我们用111至nnn将这些食材编号。每种食物煮熟所需要的时间不同,第iii种食物煮熟需要sis_is i 单位时间。这表示如果你在第TTT个时刻将一个食物iii下到火锅里,那么它原创 2017-12-24 18:28:55 · 622 阅读 · 0 评论 -
【bzoj4817】[Sdoi2017]树点涂色
DescriptionBob有一棵n个点的有根树,其中1号点是根节点。Bob在每个点上涂了颜色,并且每个点上的颜色不同。定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。Bob可能会进行这几种操作: 1 x: 把点x到根节点的路径上所有的点染上一种没有用过的新颜色。 2 x y: 求x到y的路径的权值。 3 x y: 在以x为根的子树中选择一个点,使得这个点原创 2017-12-28 16:34:17 · 248 阅读 · 0 评论 -
【bzoj3295】[Cqoi2011]动态逆序对
Description对于序列A,它的逆序对数定义为满足i#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<algorithm>#define inf 0x7fffffff#define N 100005#define M 5000005#define ll long longll原创 2017-04-27 19:09:04 · 292 阅读 · 0 评论 -
【bzoj2865】字符串识别 后缀自动机+线段树
DescriptionXX在进行字符串研究的时候,遇到了一个十分棘手的问题。 在这个问题中,给定一个字符串S,与一个整数K,定义S的子串T=S(i, j)是关于第K位的识别子串,满足以下两个条件: 1、i≤K≤j。 2、子串T只在S中出现过一次。 例如,S=”banana”,K=5,则关于第K位的识别子串有”nana”,”anan”,”anana”,”nan”,”banan”和”ban原创 2018-01-26 19:35:53 · 852 阅读 · 0 评论 -
【bzoj1230】[Usaco2008 Nov]lites 开关灯
DescriptionFarmer John尝试通过和奶牛们玩益智玩具来保持他的奶牛们思维敏捷. 其中一个大型玩具是牛栏中的灯. N (2 <= N <= 100,000) 头奶牛中的每一头被连续的编号为1..N, 站在一个彩色的灯下面.刚到傍晚的时候, 所有的灯都是关闭的. 奶牛们通过N个按钮来控制灯的开关; 按第i个按钮可以改变第i个灯的状态.奶牛们执行M (1 <= M <= 100,000)原创 2017-09-06 21:18:11 · 311 阅读 · 0 评论 -
【bzoj5029】贴小广告
Description现在有一堵墙,墙上分为若干个单元。接下来会来n个人在墙上贴小广告。每次每个人选择墙上连续一段的单元贴 上自己公司与众不同的小广告。因为小广告可能会出现被覆盖的情况,由于公司之间存在竞争,后贴广告的人想让 别人看不见前面公司的广告,所以会将前面的广告完全覆盖。因此对于墙上的某个单元上贴的小广告中只有贴的最 晚的能被看见。现在想要知道n个人依次贴完后,墙上共能看到多少种小广告原创 2017-09-06 20:16:01 · 454 阅读 · 0 评论 -
【bzoj1672】[Usaco2005 Dec]Cleaning Shifts 清理牛棚
DescriptionFarmer John’s cows, pampered since birth, have reached new heights of fastidiousness. They now require their barn to be immaculate. Farmer John, the most obliging of farmers, has no choice b原创 2017-07-19 19:31:43 · 525 阅读 · 0 评论 -
【bzoj2588】Spoj 10628. Count on a tree
Description给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。 Input第一行两个整数N,M。 第二行有N个整数,其中第i个整数表示点i的权值。 后面N-1行每行两个整数(x,y),表示点x到点y有一条边。 最后M行原创 2017-04-07 13:21:36 · 297 阅读 · 0 评论 -
【bzoj4653】[Noi2016]区间
Description在数轴上有 n个闭区间 [l1,r1],[l2,r2],…,[ln,rn]。现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置。换句话说,就是使得存在一个 x,使得对于每一个被选中的区间 [li,ri],都有 li≤x≤ri。 对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度。区间 [li,ri] 的长度定义为 ri−li,即等于它原创 2017-05-08 18:21:58 · 307 阅读 · 0 评论 -
【bzoj4552】 [Tjoi2016&Heoi2016]排序
Description在2016年,佳媛姐姐喜欢上了数字序列。因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他。这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排 序分为两种:1:(0,l,r)表示将区间[l,r]的数字升序排序2:(1,l,r)表示将区间[l,r]的数字降序排序最后询问第q 位置上的数字。 Input输入数原创 2017-04-27 20:19:28 · 485 阅读 · 0 评论 -
【bzoj4373】算术天才⑨与等差数列
Description算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了不被他鄙视,你必须要快速并正确地回答完所有问题。 注意:只有一个数的数列也是等差数列。Input第一行包含两个正整数n,m(1原创 2017-05-31 20:22:02 · 355 阅读 · 0 评论 -
【bzoj3339】Rmq Problem
Description Input Output Sample Input7 5 0 2 1 0 1 3 2 1 3 2 3 1 4 3 6 2 7 Sample Output3 0 3 2 4 HINT 题解代码#include#define ll long long#define inf 1000000007using原创 2017-07-12 09:11:54 · 416 阅读 · 0 评论 -
【bzoj3252】攻略
Description题目简述:树版[k取方格数]众所周知,桂木桂马是攻略之神,开启攻略之神模式后,他可以同时攻略k部游戏。 今天他得到了一款新游戏《XX半岛》,这款游戏有n个场景(scene),某些场景可以通过不同的选择支到达其他场景。所有场景和选择支构成树状结构:开始游戏时在根节点(共通线),叶子节点为结局。每个场景有一个价值,现在桂马开启攻略之神模式,同时攻略k次该游戏,问他观赏到的场景的价原创 2017-07-12 12:01:58 · 245 阅读 · 0 评论 -
分组
题目描述 Bsny所在的精灵社区有n个居民,每个居民有一定的地位和年龄,ri表示第i个人的地位,ai表示第i个人的年龄。最近社区里要举行活动,要求几个人分成一个小组,小组中必须要有一个队长,要成为队长有这样的条件:1、队长在小组中的地位应该是最高的(可以并列第一);2、小组中其他成员的年龄和队长的年龄差距不能超过K。有些人想和自己亲密的人组在同一个小组,同时希望所在的小组人越多越好。比如x和y想在原创 2017-07-06 20:35:49 · 355 阅读 · 0 评论 -
【bzoj3306】树
Description给定一棵大小为 n 的有根点权树,支持以下操作: • 换根 • 修改点权 • 查询子树最小值 Input 第一行两个整数 n, Q ,分别表示树的大小和操作数。 接下来n行,每行两个整数f,v,第i+1行的两个数表示点i的父亲和点i的权。保证f < i。如 果f = 0,那么i为根。输入数据保证只有i = 1时,f = 0。 接下来原创 2017-07-10 09:30:23 · 456 阅读 · 0 评论 -
【bzoj2957】楼房重建
Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。 为了简化问题,我们考虑这些事件发生在一个二维平面上。小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和(i,Hi)的线段表示,其中Hi为第i栋楼房的高度。如果这栋楼房上任何一个高度大于0的点与(0,0)的连原创 2017-07-18 18:54:15 · 284 阅读 · 0 评论 -
【bzoj3747】[POI2015]Kinoman
Description共有m部电影,编号为1~m,第i部电影的好看值为w[i]。 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部。 你可以选择l,r(1<=l<=r<=n),并观看第l,l+1,…,r天内所有的电影。如果同一部电影你观看多于一次,你会感到无聊,于是无法获得这部电影的好看值。所以你希望最大化观看且仅观看过一次的电影的好看值的总和。 Input第一行两个整原创 2017-07-19 10:53:41 · 588 阅读 · 0 评论 -
酒店
题目描述 A城市有个超级大酒店,住房部只有一层,只向南,但房间有N个(编号1, 2 .. N)。刚开始所有房间都是空的,但酒店肯定会有人来住宿,有些房间就要被入住。但客人经常会问一个问题,最长连续的空房间是多少,因为客人想连续的住在一起。于是,有下列三个操作: 1 a b:表示从房间a开始连续b个房间,将被入住(不管有没有人已经入住) 2 a b:表示从房间a开始连续b个房间,将清空入住(不管原创 2017-03-27 20:49:44 · 381 阅读 · 0 评论