
线段树
文章平均质量分 64
Jacky35
这个作者很懒,什么都没留下…
展开
-
【GDOI2018Day2模拟4.18】奥利卡的诗
DescriptionInput从文件poem.in中读入数据. 第一行两个整数n. 接下来若干行有n个单词,用空格或回车隔开.Output输出到文件poem.out中. 输出n行n个整数,第i个整数表示elegancy(i).Sample Input输入1: 2 nyg nyxSample Output输出1: 6 18Data Constraintn<=105,∑|s|<=3∗1原创 2018-04-19 15:48:01 · 713 阅读 · 0 评论 -
【NOI2018模拟4.4】Map
DescriptionRin是个特别好动的少女。 一天Rin来到了一个遥远的都市。这个都市有N个建筑,编号从1到N,其中市中心编号为1,这个都市有M条双向通行的街道,每条街道连接着两个不同的建筑,其中某些街道首尾相连连接成了一个环。Rin通过长时间的走访,已经清楚了这个都市的两个特点: 从市中心出发可以到达所有的建筑物。 任意一条街道最多存在与一个简单环中。令Rin心花怒放的是,每个建筑物都会原创 2018-04-05 09:58:50 · 449 阅读 · 0 评论 -
李超线段树(标记永久化) 线段树维护线段 讲解 模板题
考虑下面一个问题: 定义一个坐标系,有m次操作 操作1:添加一条直线 操作2:求x=x0这条直线和其他直线的交点的最高纵坐标 时间复杂度log级别考虑线段树:线段树一个点代表一个区间,同时只代表一条线段 每次修改时,到达线段树的某个点,设这个点的区间为[l,r] 如果在l位置和r位置,新加入的边都比原有边大,那么直接用新加入的边替代整个区间,反之亦然。 否则,找出两条线交点在哪里,递归原创 2018-04-01 22:00:29 · 1364 阅读 · 0 评论 -
【清华冬令营2018模拟】送你一堆区间
Description送你在数轴上的n 个区间和m 个关键点, 你可以决定每个区间选或不选, 问有多少种方案覆盖 所有的关键点. 对1000000009 取模.Input第一行两个整数n;m, 分别表示区间个数和关键点个数. 接下来n 行, 每行两个整数li; ri, 表示一个区间[li; ri]. 接下来m 行, 每行一个整数, 第i 行表示表示第i 个关键点xi.Ou原创 2018-01-10 21:23:02 · 1138 阅读 · 0 评论 -
【清华冬令营2018模拟】送你一棵圣诞树
Description送你一棵n 个点的树, 树根为1. 一开始每个点上有一个1:::n 的颜色ci, 不同点颜色可以相同. 现在有q 次操作, 分为两种类型: • 1 u l r: 询问子树u 中有多少种在l 到r 之间的颜色至少出现了一次 • 2 u c: 将u 的颜色修改为c 部分测试点要求强制在线.Input第一行三个整数n; q; t, 分别表示树的点数, 操作的个数原创 2018-01-08 21:24:30 · 1341 阅读 · 0 评论 -
【WC2015模拟2.5】数组
DescriptionInputOutput对于每个询问操作,输出满足条件的子区间数Sample Input3 1 2 3 3 0 1 1 2 0Sample Output6 4Solution对于每个位置,考虑以这个位置开头的子区间,最右能延伸到哪里,设为suf[i]。 为了维护这个,设一个next[i]表示第i个位置之后的第一个原创 2018-01-07 21:27:40 · 275 阅读 · 0 评论 -
NOIP2017 Day2t3 队列
线段树Sylvia 是一个热爱学习的女孩子。 前段时间,Sylvia 参加了学校的军训。众所周知,军训的时候需要站方阵。 Sylvia所在的方阵中有n × m名学生,方阵的行数为 n,列数为 m。 为了便于管理,教官在训练开始时,按照从前到后,从左到右的顺序给方阵中从 1 到 n × m 编上了号码(参见后面的样例)。即:初始时,第 i 行第 j 列的原创 2017-11-20 22:41:36 · 883 阅读 · 0 评论 -
【NOIP2017提高A组模拟10.10】Permutation
Description你有一个长度为n 的排列P 与一个正整数K 你可以进行如下操作若干次使得排列的字典序尽量小 对于两个满足|i-j|>=K 且|Pi-Pj| = 1 的下标i 与j,交换Pi 与PjInput第一行包括两个正整数n 与K 第二行包括n 个正整数,第i 个正整数表示PiOutput输出一个新排列表示答案 输出共n 行,第i 行表示PiSample Input8 3 4 5原创 2017-10-14 09:34:25 · 637 阅读 · 0 评论 -
【GDOI2018模拟9.23】动态图
DescriptionInputOutputSample Input5 3 0 1 4 5 1 2 4 3 1 2Sample Output3Solution动态图?用动态树来做 先只考虑离线 所有询问按照右端点排序 按照边从前往后加入 相当于维护一个生成树 如果一条边加入会形成环,那么就替换掉这个环上最早出现的边 为什么是正确的呢? 询问的右端点固定,左端点不同,我的边尽量靠近原创 2017-09-23 16:47:29 · 594 阅读 · 0 评论 -
【清华集训2017模拟】Create
DescriptionInputOutputSample Input5 5 5 1 5 4 1 1 2 5 3 4 5 2 3 5 3 1 2 3 3 5 2 7 1 6 13 12 13 12 14 15 13 13 13 11 12 12Sample Output5 9 13 9 9 13Solution由于开学军训,导致那么好几天原创 2017-08-23 21:19:39 · 421 阅读 · 0 评论 -
【NOIP2017模拟A组模拟8.5】带权排序
DescriptionInput输入文件名为sort.in。 第一行包含一个整数n。 接下来n行,每行三个整数si,li,ri,表示Ai的值为[li,ri] 中的随机整数。Output输出文件名为sort.out。 输出一个整数,表示答案。Sample Input输入1: 4 1 2 3 4 4 6 2 0 5 3 2 6输入2: 10 53736 68 512 82493 8原创 2017-08-09 19:42:49 · 256 阅读 · 0 评论 -
【NOIP2017提高组模拟6.30】tty's maze
DescriptionInputOutput输出一行一个数表示最大的宝藏之和Sample Inputinput 1: 1 5 3 1 2 3 4 5 input 2: 2 5 6 5 1 3 4 2Sample Outputoutput 1: 6 output 2: 22Solution一道水题,我太垃圾了,没有看出来根据题目的特性:从最上面可以到最下面,说明无论从哪个位置进入一列,原创 2017-06-30 20:40:31 · 378 阅读 · 0 评论 -
求矩形覆盖面积
就是给定一些矩形的坐标,求出所以矩形覆盖了多大的面积 和线段覆盖的思想有点像 用扫描线+线段树来维护 用一个扫描线从左到右扫描,扫描到一个矩形的左边界时,将边界上包括的点在线段树中+1,扫描到一个矩形的右边界时,将边界上包括的点在线段树中-1 那么在某一时刻x=a时,线段树中值非0的点的数量就是x=a这条线上被覆盖的大小,总面积就是x=1~n之和那么线段树中有值的点的数量怎么求呢? 维护两原创 2017-06-27 22:24:44 · 1928 阅读 · 2 评论 -
【NOIP2017提高组模拟6.27】C
Description蜘蛛精大爷是世界上最爷的爷,ta的图论专著《蜘蛛精大爷教你学做人OI之图论》正在热卖,只要233美元一本,每人限购一本。。。。。。在某弱的不懈要求下,ta给某弱出了一道题,然而某弱太弱了,只好向你求助。 给你一张n个结点,m条边的无向图,每个结点都有一个整数权值。你需要执行一系列操作。操作分为三种,如下表所示。 操作 备注 D x (1<=x<=m) 删除编号为x的边原创 2017-06-27 22:09:21 · 377 阅读 · 0 评论 -
【GDOI2017模拟一试4.11】腐女的生日
Description腐女要过生日了,pty 想给腐女送礼物,但是腐女所在的教室离pty 的教室太远了,于是pty就拜托会动归和A星的djy帮忙送礼物。djy在学校建立了一个平面直角坐标系,他站在了(0,0)点,腐女在(x0,y0)点,djy每次只能往上下左右四个方向移动一步,中间有n栋矩形教学楼,每个教学楼给出两个对角的坐标,并且保证每栋教学楼的周围区域(如图所示)不会有别的教学楼,即djy可以绕原创 2017-04-27 19:12:04 · 924 阅读 · 0 评论 -
【CQOI2015】任务查询系统 主席树模板题
【CQOI2015】任务查询系统主席树,可持久化线段树Solution由于优先级比较大,需要离散化 如果不强制在线,只需将询问按时间排序维护一个权值线段树即可 维护时枚举时刻,在一原创 2017-02-14 12:53:24 · 384 阅读 · 0 评论 -
【NOIP2014八校联考第2场第2试9.28】分组(group)
DescriptionBsny所在的精灵社区有n个居民,每个居民有一定的地位和年龄,ri表示第i个人的地位,ai表示第i个人的年龄。 最近社区里要举行活动,要求几个人分成一个小组,小组中必须要有一个队长,要成为队长有这样的条件: 1、队长在小组中的地位应该是最高的(可以并列第一); 2、小组中其他成员的年龄和队长的年龄差距不能超过K。 有些人想和自己亲密的人组在同一个小组,同时希望所在的小组原创 2017-01-15 20:52:01 · 447 阅读 · 0 评论 -
【NOIP2017提高组模拟12.24】C
Description n,q<=100000n,q<=100000InputOutput每行一个整数表示答案Sample Input10 9 3580 8597 508 9110 9162 9973 6017 1942 989 646 1 3 4 405 4 3 5 5 6 7 6 4 9 7 5 7 2 1 8 9623 5 1 6 4 2 7 3 7 7 8581Solu原创 2016-12-24 15:08:10 · 289 阅读 · 0 评论 -
【NOIP2016提高A组集训第12场11.10】灵知的太阳信仰
Description在炽热的核熔炉中,居住着一位少女,名为灵乌路空。 据说,从来没有人敢踏入过那个熔炉,因为人们畏缩于空所持有的力量——核能。 核焰,可融真金。咳咳。 每次核融的时候,空都会选取一些原子,排成一列。然后,她会将原子序列分成一些段,并将每段进行一次核融。 一个原子有两个属性:质子数和中子数。 每一段需要满足以下条件: 1、同种元素会发生相互排斥,因此,同一段中不能存在两个原创 2016-11-17 19:09:59 · 549 阅读 · 0 评论 -
【NOIP2016提高A组模拟8.14】火神的鱼
Description火神最爱的就是吃鱼了,所以某一天他来到了一个池塘边捕鱼。池塘可以看成一个二维的平面,而他的渔网可以看成一个与坐标轴平行的矩形。 池塘里的鱼不停地在水中游动,可以看成一些点。有的时候会有鱼游进渔网,有的时候也会有鱼游出渔网。所以火神不知道什么时候收网才可以抓住最多的鱼,现在他寻求你的帮助。 他对池塘里的每条鱼都给予了一个标号,分别从1到n标号,n表示池塘里鱼的总数。鱼的游动可原创 2016-08-15 14:35:14 · 461 阅读 · 0 评论 -
【NOIP2016提高A组8.11】自然数
DescriptionInput第一行n 第二行n个数Output答案Sample Input3 0 1 3Sample Output5Data Constraintn<=200000n<=200000 ai<=109ai<=10^9Solution50分暴力明显,用标记数组随便YY 但是你可能在想要离散化,其实凡是大于n的都直接等于n就行了,mex最大就是n 想:如果知道[1,n]的me原创 2016-08-11 22:00:32 · 448 阅读 · 0 评论 -
【NOIP2016提高组A组7.16】第三条跑道
题目大意对于一个序列A,给定两个操作 0:将L~R乘上x 1:查询ΠRi=Lφ(a[i])mod1000000007\Pi_{i=L}^{R} \varphi (a[i]) mod 1000000007输入输出对于每个询问输出答案Sample Input5 2 3 4 5 6 3 1 1 5 0 2 3 6 1 2 3Sample Output32 48题解发下小于600的素数只有1原创 2016-07-17 12:18:36 · 410 阅读 · 0 评论 -
【NOIP2016提高A组模拟7.15】颜料大乱斗 题解+代码
DescriptionInputOutput对于每个询问,输出答案Sample Input2 2 4 C 1 1 2 P 1 2 C 2 2 2 P 1 2Sample Output2 1Solution区间修改与查询:线段树。 开三十棵线段树或者一棵线段树维护三十个东西还有lazy标记,水题,裸题另外,白色是1,题目坑人Code#include<cstdio>#include<alg原创 2016-07-15 16:02:44 · 399 阅读 · 0 评论 -
不带修改主席树模板
K小(大)数查询对于一部分线段树看似无法直接做的题,可以用主席树来做。 主席树就是对每个前缀开一棵线段树,当然,直接这样会MLE。 可以使用一种类似动态开节点的方法可以有效避免MLE。 具体可以参考我的博客,那里写的更详细一点:可持久化线段树 因为主席树是由前缀加起来的,所以区间[l,r]的解可以类似前缀和那样a[r]-a[l-1]直接减主席树的详细解答建原创 2016-07-14 16:23:04 · 628 阅读 · 0 评论 -
【NOIP2016模拟7.11】排序
DescriptionInputOutput拍完序后第k位上的数字Sample Input6 3 1 6 2 5 3 4 0 1 4 1 3 6 0 2 4 3Sample Output5Data Constraint30%:n,m<=300 100% n,m<=100000Solution对于30分,直接按照操作暴力即可,然而数据太水,可以水出60分。 对于100%显然是不能直接暴力原创 2016-07-12 16:06:42 · 382 阅读 · 0 评论 -
【NOIP2013模拟联考5】军训(training) 题解+代码
DescriptionHYSBZ 开学了!今年HYSBZ 有n 个男生来上学,学号为1…n,每个学生都必须参加军训。在这种比较堕落的学校里,每个男生都会有Gi 个女朋友,而且每个人都会有一个欠扁值Hi。学校为了保证军训时教官不会因为学生们都是人生赢家或者是太欠扁而发生打架事故,所以要把学生们分班,并做出了如下要求: 1.分班必须按照学号顺序来,即不能在一个班上出现学号不连续的情况。 2.每个学生原创 2016-06-29 19:17:22 · 1241 阅读 · 0 评论 -
【GDOI2014模拟】雨天的尾巴 题解+代码
Description深绘里一直很讨厌雨天。 灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。 虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连 根拔起,以及田地里的粮食被弄得一片狼藉。 无奈的深绘里和村民们只好等待救济粮来维生。 不过救济粮的发放方式很特别。 首先村落里的一共有n 座房屋,并形成一个树状结构。然后救济粮分m 次发放,每原创 2016-05-25 19:30:53 · 635 阅读 · 0 评论 -
【GDOI 2016 Day1】第四题 疯狂动物城 题解+代码
我恨码农题!!!题目大意一棵树,三个操作 1、从X到Y的路径上每个点的权值加Z 2、查询X到Y的一些神奇东西 3、将树回复到第X次操作后的状态输入第一行n,m。n个点,m个操作 接下来n-1行每行两个数表示X连到Y 接下来一行n个数:每个点的初始权值 接下来M行对应上面的三种操作(其中X和Y要亦或上次的答案)题解deep[i]表示深度,a[i]为i的权值 其中有40% 的数据是一条链,原创 2016-05-23 19:43:33 · 961 阅读 · 0 评论 -
可持久化线段树
线段树想必大家都知道,是一种十分有用的数据结构。请看一道例题 题目:一堆数,有两种操作,1.将x这个位置改成y 2.查询x~y之间的最大值很简单的一道题,现在将题目改变一下,变成 题目:一堆数,有两种操作,1.将x这个位置改成y 2.查询第T时刻x~y之间的最大值那么有了T时刻后怎么做? 用可持久化线段树!(主席树) 很容易想到对于每个时刻开个线段树,不过不仅耗空间,而且耗时间。原创 2016-05-18 20:54:03 · 3194 阅读 · 2 评论 -
线段树+树状数组模板
线段树模板树状数组模板原创 2016-04-22 20:38:07 · 471 阅读 · 0 评论