随笔分类 -  线段树

摘要:★★☆ 输入文件:classrooms.in 输出文件:classrooms.out 简单对比 时间限制:1 s 内存限制:128 MB 【题目描述】 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续 阅读全文
posted @ 2017-05-21 19:41 J_william 阅读(280) 评论(0) 推荐(0)
摘要:题目背景 无聊的YYB总喜欢搞出一些正常人无法搞出的东西。有一天,无聊的YYB想出了一道无聊的题:无聊的数列。。。(K峰:这题不是傻X题吗) 题目描述 维护一个数列{a[i]},支持两种操作: 1、1 L R K D:给出一个长度等于R-L+1的等差数列,首项为K,公差为D,并将它对应加到a[L]~ 阅读全文
posted @ 2017-05-21 17:02 J_william 阅读(295) 评论(0) 推荐(0)
摘要:题目描述 老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加清楚。要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3…编号,然后不定时的问管 阅读全文
posted @ 2017-05-21 15:09 J_william 阅读(239) 评论(0) 推荐(0)
摘要:题目描述 AKN觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏。在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下 1、 拥有一个伤害串为长度为n的01串。 2、 给定一个范围[l,r],伤害为伤害串的这个范围内中1的个数 3、 会被随机修改伤害串中的数值,修改的方法是把[l,r]中 阅读全文
posted @ 2017-05-20 21:48 J_william 阅读(281) 评论(0) 推荐(0)
摘要:用处 使用线段树可以快速的查找某一个节点在若干条线段中出现的次数; 时间复杂度为O(logN)。而未优化的空间复杂度为2N,因此有时需要离散化让空间压缩。 结构 线段树是建立在线段的基础上,每个结点都代表了一条线段[a,b]。 长度为1的线段称为元线段。 非元线段都有两个子结点,左结点代表的线段为[ 阅读全文
posted @ 2017-05-20 19:36 J_william 阅读(253) 评论(0) 推荐(0)
摘要:题目描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2^N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下: 1) T的根结点 阅读全文
posted @ 2017-05-20 09:16 J_william 阅读(513) 评论(0) 推荐(0)
摘要:题目背景 很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。 题目描述 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩 输入输出格式 输入格式: 第一行,有两个正整数 N 和 阅读全文
posted @ 2017-04-23 15:15 J_william 阅读(206) 评论(0) 推荐(0)
摘要:★★☆ 输入文件:kth.in 输出文件:kth.out 简单对比时间限制:1 s 内存限制:128 MB 题目描述 看到很短的题目会让人心情愉悦,所以给出一个长度为N的序列A1,A2,A3,...,AN, 现在有M个询问,每个询问都是Ai...Aj中第k小的数等于多少。 询问Ai...Aj中第k小 阅读全文
posted @ 2017-03-29 15:04 J_william 阅读(305) 评论(0) 推荐(0)
摘要:Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 56956 Accepted: 19644 Case Time Limit: 2000MS Description You are working for Macrohard co 阅读全文
posted @ 2017-03-29 10:17 J_william 阅读(310) 评论(0) 推荐(0)
摘要:★★☆ 输入文件:longterm_segtree.in 输出文件:longterm_segtree.out 简单对比时间限制:3 s 内存限制:256 MB 【题目描述】 为什么说本题是福利呢?因为这是一道非常直白的可持久化线段树的练习题,目的并不是虐人,而是指导你入门可持久化数据结构。 线段树有 阅读全文
posted @ 2017-03-27 19:44 J_william 阅读(1077) 评论(0) 推荐(1)
摘要:Time Limit: 12000MS Memory Limit: 65536K Total Submissions: 58002 Accepted: 16616 Case Time Limit: 5000MS Description An array of size n ≤ 106 is give 阅读全文
posted @ 2017-02-18 15:38 J_william 阅读(2700) 评论(0) 推荐(0)
摘要:题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和 操作3: 格式: 3 x z 表示将 阅读全文
posted @ 2017-02-08 21:07 J_william 阅读(301) 评论(0) 推荐(0)
摘要:题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第 阅读全文
posted @ 2017-01-17 11:48 J_william 阅读(409) 评论(0) 推荐(0)
摘要:题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和。 题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和。 给你N个数,有两种操作: 1:给区间[a 阅读全文
posted @ 2017-01-16 21:11 J_william 阅读(334) 评论(0) 推荐(0)
摘要:题目描述 Description 一行N个方格,开始每个格子里都有一个整数。现在动态地提出一些问题和修改:提问的形式是求某一个特定的子区间[a,b]中所有元素的和;修改的规则是指定某一个格子x,加上或者减去一个特定的值A。现在要求你能对每个提问作出正确的回答。1≤N<100000,,提问和修改的总数 阅读全文
posted @ 2017-01-16 19:21 J_william 阅读(251) 评论(0) 推荐(0)