线段树
Bill_Yang_2016
这个作者很懒,什么都没留下…
展开
-
[CQOI2006] 简单题 - 线段树/树状数组
题目描述有一个n个元素的数组,每个元素初始均为0。有m条指令,要么让其中一段连续序列数字反转——0变1,1变0(操作1),要么询问某个元素的值(操作2)。例如当n=20时,10条指令如下: 输入格式第一行包含两个整数n,m,表示数组的长度和指令的条数,以下m行,每行的第一个数t表示操作的种类。若t=1,则接下来有两个数L, R (L<=R),表示区间[L, R]的每个数均反转;若t=2,则接下来只原创 2017-02-05 18:29:21 · 962 阅读 · 0 评论 -
[POJ2750] 最大连续和 - 线段树
题目描述给出一个含有N个结点的环,编号分别为1..N,环上的点带有权值(可正可负),现要动态的修改某个点的权值,求每次修改后环上的最大连续和,但不能是整个序列的和。输入格式第一行为一个整数N(4<=N<=100000); 第二行为N个用空格分开的整数; 第三行为一个整数M(4<=M<=100000),表示修改的次数(绝对值小于等于1000); 接下来M行,每行两个整数A和B(-1000<=B<原创 2017-02-07 00:20:56 · 1075 阅读 · 0 评论 -
[POJ2777] 统计颜色 - 线段树
题目描述有一个长度为L厘米板,L是一个正整数,所以我们可以把它均匀地划分成L个部分,分别从左到右编号为1,2……L,每一个部分长度都为1厘米。现在我们必须给每个部分涂色,一个部分一种颜色,要求完成以下两种操作: 1.“C A B C1”:表示从A部分到B部分涂上C1颜色。 2.“P A B”:表示从A部分到B部分涂了几种颜色。 在我们的日常生活中,我们有非常少几种颜色(红色,绿原创 2017-02-06 23:57:51 · 706 阅读 · 0 评论 -
[POJ2155] Matrix - 二维树状数组
题目描述给一个N*N的矩阵A,其中元素是0或1。A[i][j]表示在第i行第j列的数。最初时,A[i][j]=0(1<=i,j<=N)。我们以以下方式来改变矩阵,给定一个矩形的左上角为(x1,y1)和右下角为(x2,y2),我们对这个矩形范围内的所有元素进行“非”操作(如果它是一个’0’,那么变化为’1’,否则它变为’0’)。请你编写一个程序完成以下两种操作: 1. C x1 y1 x2 y2 (原创 2017-02-06 21:27:15 · 359 阅读 · 0 评论 -
[USACO3.1.4] 形成的区域 - 线段树/矩形切割
题目描述N 个不同的颜色的不透明的长方形 ( 1 <= N <= 100 ) 被放置在一张宽为:A、 长为:B 的白纸上。这些长方形被放置时,保证了它们的边于白纸的边缘平行。所有的长方形都放置在白纸内,所以我们会看到不同形状的各种颜色。坐标系统的原点 ( 0,0 ) 设在这张白纸的左下角,而坐标轴则平行于边缘。输入格式按顺序输入放置长方形的方法。第一行输入的是那个放在底的长方形(即白纸)。 第 1原创 2017-02-06 21:24:21 · 759 阅读 · 0 评论 -
[USACO 2007 Open Silver] City Horizon - 离散化+线段树
题目描述输入格式输出格式样例数据样例输入4 2 5 1 9 10 4 6 8 2 4 6 3样例输出16样例说明题目分析离散化+线段树(维护最大值) 事先拍一遍序,以免出蜜汁错误源代码#include<algorithm>#include<iostream>#include<iomanip>#include<cstring>#include<cstdlib>#include<ve原创 2017-02-06 21:19:13 · 387 阅读 · 0 评论 -
[线段树练习2] 影子的宽度 - 统计标记个数
题目描述桌子上零散地放着若干个盒子,盒子都平行于墙。桌子的后方是一堵墙。如图所示。现在从桌子的前方射来一束平行光,把盒子的影子投射到了墙上。问影子的总宽度是多少?输入格式第1行:3个整数L,R,N。-100000 <=L<=R<= 100000,表示墙所在的区间;1<=N<=100000,表示盒子的个数 接下来N行,每行2个整数BL, BR,-100000 <=BL<=BR<= 100000,表示原创 2017-02-05 23:21:49 · 683 阅读 · 1 评论 -
[线段树练习3] 盒子的个数 - 统计标记种类
题目描述桌子上零散地按照后先后顺序放着若干个盒子,盒子都平行于墙。桌子的后方是一堵墙。如图所示。问从桌子前方可以看到多少个盒子?假设人站得足够远。输入格式第1行:3个整数L,R,N。-100000 <=L<=R<= 100000,表示墙所在的区间;1<=N<=100000,表示盒子的个数 接下来N行,每行2个整数BL, BR,-100000 <=BL<=BR<= 100000,表示一个盒子的左、右原创 2017-02-05 23:24:53 · 757 阅读 · 0 评论 -
[线段树练习4] 线段颜色条数 - 统计标记总数
题目描述X轴上从下向上依次叠放一定长度的某种颜色的线段。问从上向下看X轴,它被分成了不同颜色的多少段?输入格式第1行:2个整数XC,N。XC表示X轴的颜色,1<=N<=100000,表示线段的条数,其中X轴的范围为[-100000,100000]。。 接下来N行,每行3个整数L,R,C,-100000 <=L<=R<= 100000,表示一线段的左、右端点;1<=C<=100000,表示线段的颜色原创 2017-02-05 23:36:38 · 1049 阅读 · 0 评论 -
[线段树练习5] 线段的条数 - 统计点重复标记数
题目描述X轴上从下向上依次叠放一定长度某种颜色的线段。问在某个单位区间上一共叠放了多少条线段?输入格式第1行:2个整数XC,N。XC表示X轴的颜色,1<=N<=100000,表示线段的条数。 接下来N行,每行3个整数L,R,C,-100000 <=L<=R<= 100000,表示一线段的左、右端点;1<=C<=100000,表示线段的颜色。 最后1行:1个整数P,表示单位区间的起点。-10000原创 2017-02-05 23:39:06 · 780 阅读 · 0 评论 -
[AHOI2009] 行星序列 - 线段树双懒标记
题目描述“神州“载人飞船的发射成功让小可可非常激动,他立志长大后要成为一名宇航员假期一始,他就报名参加了“小小宇航员夏令营”,在这里小可可不仅学到了丰富的宇航知识,还参与解决了一些模拟飞行中发现的问题,今天指导老师交给他一个任务,在这次模拟飞行的路线上有N个行星,暂且称它们为一个行星序列,并将他们从1至n标号,在宇宙未知力量的作用下这N个行星的质量是不断变化的,所以他们对飞船产生的引力也会不断变化,原创 2017-02-06 00:10:10 · 603 阅读 · 0 评论 -
[COGS247] 售票系统 - 线段树懒标记
题目描述某次列车经C个城市,城市编号依次为1到C,列车上共有S个座位,铁路局规定售出的车票只能是坐票,即车上所有的旅客都有座。售票系统是由计算机执行的,每一个售票申请包含三个参数,分别用O,D,N表示,O为起始,D为目的地站,N为车票张数。售票系统对该售票申请作出受理和不受理的决定,只有在从O到D的区段内列车上都有N个和N个以上的空座位时该售票申请才被受理。 请你写一个程序,实现这个自动售票系统。原创 2017-02-05 23:18:02 · 893 阅读 · 0 评论 -
[线段树练习1] 线段统计 - 线段树懒标记
题目描述在数轴上进行一系列操作。每次操作有两种类型,一种是在线段[a,b]上涂上颜色,另一种将[a,b]上的颜色擦去。问经过一系列的操作后,有多少条单位线段[k,k+1]被涂上了颜色。输入格式第1行:2个整数n(0<=n<=60000)和m(1<=m<=60000)分别表示数轴长度和进行操作的次数。 接下来m行,每行3个整数i,a,b, 0 <=a<=b<=60000,若i=1表示给线段[a,b]原创 2017-02-05 23:14:33 · 2828 阅读 · 1 评论 -
[bsoj2521] 序列和 - 线段树/树状数组
题目描述给定一个初始值都为0的序列,动态地修改一些位置上的数字,加上一个数,减去一个数,然后动态地提出问题,问题的形式是求出一段数字的和。 规定: Add i d 表示将序列第i个数加上d; Sub i d 表示将序列中第i数减去d; Ask i j 询问序列i到j的所有数的和;输入格式输入文件的第一行两个整数:n m,分别表示序列的长度和有m条指令;第2行到第m+1行,都是上面原创 2017-02-05 18:23:22 · 426 阅读 · 0 评论 -
[POJ2886] 谁得到最多糖果 - 反质数+线段树
题目描述有N个孩子顺时针坐成一个圆圈且从1到N编号,每个孩子手中有一张标有非零整数的卡片。第K个孩子先出圈,如果他手中卡片上的数字A大于零,下一个出圈的是顺时针第A个孩子。否则,下一个出圈的是逆时针第(-A)个孩子。第p个出圈的孩子会得到F(p)个糖果,F(p)为p的因子数。求得到糖果数最多的是哪个孩子及得到多少糖果。输入格式输入包含多组测试数据,每组测试数据的第一行为两个整数N(0 < N ≤ 5原创 2017-02-07 00:30:28 · 506 阅读 · 0 评论