
线段树
文章平均质量分 62
ypxrain
这个作者很懒,什么都没留下…
展开
-
POJ 2104 K-th Number
Time Limit: 20000MS Memory Limit: 65536K Total Submissions: 51505 Case Time Limit: 2000MSDescriptionYou are working for Macrohard company in data structures department. After failing your previou原创 2016-12-16 20:07:43 · 285 阅读 · 0 评论 -
Codeforces 911G Mass Change Queries
题意给一个长度为n的序列,每次操作会把区间中的x改成y。问m次操作后的序列长什么样。 n,m<=200000,x,y<=100分析第一次见识到原来线段树还有分裂这种骚操作。 就是对每种权值开一棵线段树,然后每次把x线段树里面的对应子树和y线段树合并即可。代码#include <bits/stdc++.h>const int N = 2...原创 2018-03-13 20:56:22 · 197 阅读 · 0 评论 -
BZOJ 4293: [PA2015]Siano
Description农夫Byteasar买了一片n亩的土地,他要在这上面种草。 他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米。 Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。Byteasar想知道,每次收割得到的草的高度总和是多少,你能帮帮他吗?Input第一行包含两个正整...原创 2018-03-04 20:02:27 · 222 阅读 · 0 评论 -
BZOJ 3306: 树
Description给定一棵大小为 n 的有根点权树,支持以下操作: • 换根 • 修改点权 • 查询子树最小值 Input 第一行两个整数 n, Q ,分别表示树的大小和操作数。 接下来n行,每行两个整数f,v,第i+1行的两个数表示点i的父亲和点i的权。保证f 接下来 m 行,为以下格式中的一种: • V x y表示把点x的原创 2018-01-22 08:58:02 · 365 阅读 · 0 评论 -
CF 903G. Yet Another Maxflow Problem
题意In this problem you will have to deal with a very special network.The network consists of two parts: part A and part B. Each part consists of n vertices; i-th vertex of part A is denoted as Ai, and i原创 2017-12-25 21:02:15 · 234 阅读 · 0 评论 -
BZOJ 1969: [Ahoi2005]LANE 航线规划
题意给你一个无向图,要求资瓷两个操作:删除一条边,或(x,y)表示询问有多少条边满足删掉后x和y不连通。 保证任意时刻该图连通。 n<=30000,m<=100000,q<=40000分析看到该图始终连通后,很容易想到先离线搞一棵生成树出来,那么答案的割边一定在这棵生成树上。 我们把询问离线,把删边变为加边,每加一条边就相当于把这条边两个端点路径上的边染成黑色,询问就相当于问两点路径上白原创 2017-11-02 21:09:07 · 222 阅读 · 0 评论 -
51nod 1611 金牌赛事
Discribtion你是汽车比赛的组织者,现在你将要在线性王国组织几场比赛。线性王国有n条连续的公路,方向由左到右。我们对公路从左到右分别用1-n进行编号。这样,汽车就是沿着编号变大的方向行驶。有几场比赛可能将要在这里举行。每场比赛将会用到线性王国中的某一段连续的道路。对于每一场比赛,如果它举行了,你将会得到一定的费用作为报酬。这些比赛都是分开举行的,所以道路可以重复使用。但是很不幸的,所有的道路原创 2017-10-24 21:13:15 · 441 阅读 · 0 评论 -
BZOJ 4373: 算术天才⑨与等差数列
Description算术天才⑨非常喜欢和等差数列玩耍。 有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。 他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。 当然,他还会不断修改其中的某一项。 为了不被他鄙视,你必须要快速并正确地回答完所有问题。 注意:只有一个数的数列也是等差数列。Input第一行包含两个正整数n,m(1原创 2017-04-25 16:37:12 · 391 阅读 · 0 评论 -
BZOJ 3747: [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第一行两个整数n原创 2017-04-19 17:02:50 · 360 阅读 · 0 评论 -
JZOJ 【GDOI2017第三轮模拟day1】单旋
DescriptionH国是一个热爱写代码的国家,那里的人们很小去学校学习写各种各样的数据结构。伸展树(splay)是一种数据结构,因为代码好写,功能多,效率高,掌握这种数据结构成为了H国的必修技能。有一天,邪恶的“卡”带着他的邪恶的“常数”来企图毁灭H国。“卡”给H国的人洗脑说,splay如果写成单旋的,将会更快。“卡”称“单旋splay”为“spaly”。虽说他说的很没道理,但还是有H国的人相信原创 2017-04-19 14:47:24 · 374 阅读 · 0 评论 -
BZOJ 5049. 【GDOI2017模拟一试4.11】腐女的生日
Description腐女要过生日了,pty 想给腐女送礼物,但是腐女所在的教室离pty 的教室太远了,于是pty就拜托会动归和A星的djy帮忙送礼物。djy在学校建立了一个平面直角坐标系,他站在了(0,0)点,腐女在(x0,y0)点,djy每次只能往上下左右四个方向移动一步,中间有n栋矩形教学楼,每个教学楼给出两个对角的坐标,并且保证每栋教学楼的周围区域(如图所示)不会有别的教学楼,即djy可以绕原创 2017-04-14 10:52:32 · 703 阅读 · 0 评论 -
BZOJ 4552: [Tjoi2016&Heoi2016]排序
Description在2016年,佳媛姐姐喜欢上了数字序列。因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他。这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排序分为两种:1:(0,l,r)表示将区间[l,r]的数字升序排序2:(1,l,r)表示将区间[l,r]的数字降序排序最后询问第q位置上的数字。Input输入数据的第一行为两个原创 2017-04-05 13:02:30 · 374 阅读 · 0 评论 -
BZOJ 3995: [SDOI2015]道路修建
Description某国有2N个城市,这2N个城市构成了一个2行N列的方格网。现在该国政府有一个旅游发展计划,这个计划需要选定L、R两列(L<=R),修建若干条专用道路,使得这两列之间(包括这两列)的所有2(R-L+1)个城市中每个城市可以只通过专用道路就可以到达这2(R-L+1)个城市中的任何一个城市。这种专用道路只能在同一行相邻两列的城市或者同一列的两个城市之间修建,且修建需要花费一定的费用。原创 2017-04-07 19:52:52 · 445 阅读 · 0 评论 -
【TJOI2014】电源插排(switch)
DescriptionInputOutputSample Input7 10 1 2 3 0 1 2 0 4 7 0 2 5 20 0 6 6 99 0 4 6Sample Output1 2 2 1 3Data Constraint对于30%的数据,N<=10^5,Q<=1000对于100%的数据,N<=10^9,Q<=10^5分析线段树显然代码#include <io原创 2017-03-28 20:36:48 · 509 阅读 · 0 评论 -
CODEVS 1282 约瑟夫问题
题目描述 Description有编号从1到N的N个小朋友在玩一种出圈的游戏。开始时N个小朋友围成一圈,编号为I+1的小朋友站在编号为I小朋友左边。编号为1的小朋友站在编号为N的小朋友左边。首先编号为1的小朋友开始报数,接着站在左边的小朋友顺序报数,直到数到某个数字M时就出圈。直到只剩下1个小朋友,则游戏完毕。现在给定N,M,求N个小朋友的出圈顺序。输入描述 Input Description唯一的原创 2017-03-02 21:43:25 · 336 阅读 · 0 评论 -
CODEVS 1081 线段树练习 2
题目描述 Description给你N个数,有两种操作1:给区间[a,b]的所有数都增加X2:询问第i个数是什么?输入描述 Input Description第一行一个正整数n,接下来n行n个整数,再接下来一个正整数Q,表示操作的个数. 接下来Q行每行若干个整数。如果第一个数是1,后接3个正整数a,b,X,表示在区间[a,b]内每个数增加X,如果是2,后面跟1个整数i, 表示询问第i个位置的数是多少原创 2017-03-02 21:16:00 · 264 阅读 · 0 评论 -
BZOJ 2752: [HAOI2012]高速公路(road)
DescriptionY901高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。 Y901高速公路是一条由N-1段路以及N个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为1~N,从收费站i行驶到i+1(或从i+1行驶到i)需要收取Vi的费用。高速路刚建成时所有的路段都是免费的。 政府部门根据实际情况,会不原创 2017-02-13 21:36:38 · 315 阅读 · 0 评论 -
CODEVS 1080 线段树练习
题目描述 Description一行N个方格,开始每个格子里都有一个整数。现在动态地提出一些问题和修改:提问的形式是求某一个特定的子区间[a,b]中所有元素的和;修改的规则是指定某一个格子x,加上或者减去一个特定的值A。现在要求你能对每个提问作出正确的回答。1≤N<100000,,提问和修改的总数m<10000条。输入描述 Input Description输入文件第一行为一个整数N,接下来是n行n原创 2017-03-01 21:44:18 · 224 阅读 · 0 评论 -
BZOJ 4105: [Thu Summer Camp 2015]平方运算
题目分析我们可以把这看成一个图,每个点向编号为它平方的点连边。打一下表发现每个环的lcm不超过60,且每个点到环的距离不超过11。 那么只要线段树每个节点维护一下该区间周期就好了。 时间复杂度O(60nlogn)代码#include <bits/stdc++.h>const int N = 100005;const int P = 1000...原创 2018-03-20 21:11:34 · 161 阅读 · 0 评论