
线段树
lqybzx
123
展开
-
Vijos 1083:小白逛公园 (bzoj 1756)
Description小新经常陪小白去公园玩,也就是所谓的遛狗啦…在小新家附近有一条“公园路”,路的一边从南到北依次排着n个公园,小白早就看花了眼,自己也不清楚该去哪些公园玩了。 一开始,小白就根据公园的风景给每个公园打了分-.-。小新为了省事,每次遛狗的时候都会事先规定一个范围,小白只可以选择第a个和第b个公园之间(包括a、b两个公园)选择连续的一些公园玩。小白当然希望选出的公园的分原创 2014-10-16 13:24:10 · 1502 阅读 · 0 评论 -
bzoj 4127: Abs
Description 给定一棵树,设计数据结构支持以下操作 1 u v d 表示将路径 (u,v) 加d 2 u v 表示询问路径 (u,v) 上点权绝对值的和Input第一行两个整数n和m,表示结点个数和操作数接下来一行n个整数a_i,表示点i的权值接下来n-1行,每行两个整数u,v表示存在一条(u,v)的边接下来m行,每行原创 2015-06-13 20:41:01 · 1105 阅读 · 0 评论 -
bzoj 4373: 算术天才⑨与等差数列
Description算术天才⑨非常喜欢和等差数列玩耍。有一天,他给了你一个长度为n的序列,其中第i个数为a[i]。他想考考你,每次他会给出询问l,r,k,问区间[l,r]内的数从小到大排序后能否形成公差为k的等差数列。当然,他还会不断修改其中的某一项。为了不被他鄙视,你必须要快速并正确地回答完所有问题。注意:只有一个数的数列也是等差数列。Input第一原创 2016-01-03 16:38:53 · 1034 阅读 · 0 评论 -
2016多校训练Contest4: 1007 Treasure hdu5770
Problem Description?? has got a treasure map,the treasure map consists of N nodes,there are N-1 bidirectional roads, Each of them connects a pair of nodes,the N nodes are all connected by the N-1原创 2016-07-30 14:19:45 · 482 阅读 · 0 评论 -
2016多校训练Contest10: 1005 Road hdu5861
Problem DescriptionThere are n villages along a high way, and divided the high way into n-1 segments. Each segment would charge a certain amount of money for being open for one day, and you can op原创 2016-08-18 22:43:55 · 490 阅读 · 0 评论 -
2016多校训练Contest10: 1006 Counting Intersections hdu5862
Problem DescriptionGiven some segments which are paralleled to the coordinate axis. You need to count the number of their intersection.The input data guarantee that no two segments share the s原创 2016-08-18 22:46:50 · 358 阅读 · 0 评论 -
hdu 5875 Function 2016ACM/ICPC大连赛区网络赛1008
Problem DescriptionThe shorter, the simpler. With this problem, you should be convinced of this truth. You are given an array A of N postive integers, and M queries in the form (l,r).原创 2016-09-13 19:09:45 · 681 阅读 · 0 评论 -
2016多校训练Contest8: 1008 Rikka with Sequence hdu5828
Problem DescriptionAs we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them:Yuta has an array A with n numb原创 2016-08-12 21:02:41 · 424 阅读 · 0 评论 -
hdu 5893 List wants to travel 2016ACM/ICPC沈阳赛区网络赛1002
Problem DescriptionA boy named List who is perfect in English. Now he wants to travel and he is making a plan. But the cost of living in same citie always changes. Now he wants to know how many di原创 2016-09-19 16:34:52 · 580 阅读 · 0 评论 -
Codeforces Round #373 (Div. 1) C.Sasha and Array
题目大意:给你一个长度为n的数列an,有两种操作1、将L到R的ai加上X2、询问L到R之间,f(aL)+f(aL+1)+……+f(aR)的和考虑维护fib数列的转移区间加,就相当于区间乘上一个矩阵那么我们直接维护矩阵的合并和懒标记下推就可以了乘的矩阵要预处理一下不然会多一个log的复杂度#include#include#inc原创 2016-09-27 18:48:15 · 485 阅读 · 0 评论 -
bzoj 4196: [Noi2015]软件包管理器
Description Linux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优原创 2017-07-01 20:11:48 · 304 阅读 · 0 评论 -
5-14 数据结构啊poi W.区间对
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78124#problem/W//想看题目的@willinglive首先想到O(n^2)的做法,枚举区间[l,r],我们考虑加入r+1的时候有多少段。如果[l,r]有k段,那么r+1的位置前后如果均存在,则[l,r+1]=k-1;前或者后存在,则[l,r+1]=k;均不存在则原创 2015-05-22 21:03:32 · 643 阅读 · 0 评论 -
bzoj 3747: [POI2015]Kinoman
Description共有m部电影,编号为1~m,第i部电影的好看值为w[i]。在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部。你可以选择l,r(1Input第一行两个整数n,m(1第二行包含n个整数f[1],f[2],…,f[n](1第三行包含m个整数w[1],w[2],…,w[m](1Output输出观看原创 2015-06-21 18:03:59 · 531 阅读 · 0 评论 -
bzoj 3878: [Ahoi2014]奇怪的计算器
Description 【故事背景】JYY有个奇怪的计算器,有一天这个计算器坏了,JYY希望你能帮助他写一个程序来模拟这个计算器的运算。【问题描述】JYY的计算器可以执行N条预设好的指令。每次JYY向计算器输入一个正整数X,计算器就会以X作为初始值,接着依次执行预设的N条指令,最后把最终得出的结果返回给JYY。每一条指令可以是以下四种指令之一:(这里a表示一个正原创 2015-01-30 00:07:07 · 1229 阅读 · 0 评论 -
bzoj 1798: [Ahoi2009]Seq 维护序列seq
Description老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。 有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。Input第一行两个整数N和P(1≤P≤1000000000)。第二行含有原创 2015-02-06 20:29:24 · 924 阅读 · 0 评论 -
bzoj 2957: 楼房重建
Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房。每天,这片工地上的房子拆了又建、建了又拆。他经常无聊地看着窗外发呆,数自己能够看到多少栋房子。 为了简化问题,我们考虑这些事件发生在一个二维平面上。小A在平面上(0,0)点的位置,第i栋楼房可以用一条连接(i,0)和(i,Hi)的线段表示,其中Hi为第i栋楼房的高度。如果这栋楼房上任何一个高度大于0的点与原创 2015-04-10 11:54:10 · 703 阅读 · 0 评论 -
bzoj 3165: [Heoi2013]Segment
Description 要求在平面直角坐标系下维护两个操作: 1.在平面上加入一条线段。记第i条被插入的线段的标号为i。 2.给定一个数k,询问与直线 x = k相交的线段中,交点最靠上的线段的编号。 Input 第一行一个整数n,表示共n 个操作。 接下来n行,每行第一个数为0或1。 若该数为 0,则后面跟着一个正整数 k,表原创 2015-04-10 15:44:00 · 965 阅读 · 1 评论 -
bzoj 4034: [HAOI2015]T2
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。操作 3 :询问某个节点 x 到根的路径中所有点的点权和。Input 第一行包含两个整数 N, M 。表示点数和操作数。接下来一行原创 2015-05-03 21:15:12 · 1277 阅读 · 0 评论 -
5-14 数据结构啊poi B.mex
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78124#problem/B//想看题目的@willinglive因为mex有单调性,所以我们用线段树来维护以每个点为右端点的mex的和。然后枚举左端点。修改左端点的时候只需要修改当前到下一次该点的值出现的位置-1就可以了#include#include#include#原创 2015-05-14 21:15:48 · 617 阅读 · 0 评论 -
5-14 数据结构啊poi C.交错和
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78124#problem/C//想看题目的@willinglive我们可以用线段树维护s1,s2,ts1,ts2分别表示奇数位的和,偶数位的和,ANS[l,r],ANS[l+1,r],然后合并的时候看下前面部分的长度直接合并即可如果跨多个区间的话可以分成前。中。后三个部分。中间原创 2015-05-14 20:47:54 · 479 阅读 · 0 评论 -
5-14 数据结构啊poi A.暑假作业
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78124#problem/A//想看题目的@willinglive用线段树维护这种东西还是第一次写。。我们先考虑合并操作。维护F0开始乘的区间和和F1开始乘的区间和。只需要把右边那段乘上一个矩阵再加上左边那段就可以了单点修改直接做就可以了区间加呢?我原创 2015-05-16 20:51:56 · 491 阅读 · 0 评论 -
5-14 数据结构啊poi E.splay上的游戏
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78124#problem/E//想看题目的@willinglive我们发现无论如何操作。树的中序遍历不变于是我们维护中序遍历,每次左旋或者右旋只改变两个点的状态然后记录下他的子树是哪段,用线段树维护区间乘积就可以了#include#include原创 2015-05-20 13:28:18 · 544 阅读 · 0 评论 -
bzoj 2482: [Spoj1557] Can you answer these queries II
Description给定n个元素的序列。 给出m个询问:求l[i]~r[i]的最大子段和(可选空子段)。 这个最大子段和有点特殊:一个数字在一段中出现了两次只算一次。 比如:1,2,3,2,2,2出现了3次,但只算一次,于是这个序列的和是1+2+3=6。 Input 第一行一个数n。 第二行n个数,为给定的序列,这些数的绝对值小于等于10000原创 2015-06-16 20:27:53 · 741 阅读 · 0 评论 -
Petrozavodsk Winter Training Camp 2018: Carnegie Mellon U Contest A. Mines
题目大意:给你n个点,分别位于pi。每个点有个爆炸范围ri和代价ci,花费ci可以引爆某个点,并且pi-ri到pi+ri范围内的点都会被引爆。q个询问,每次修改一个点的ci,每次输出引爆所有店的最小代价。题解:学了下线段树优化建立边。首先对于这些爆炸关系连边所点我们可以得到一个DAG,引爆所有点的代价就是所有入度为0的点的代价最小值之和。那么这题是区间操作,我们可以用线段树原创 2018-04-28 13:07:42 · 526 阅读 · 0 评论