线段树
Wang_SF2015
这个作者很懒,什么都没留下…
展开
-
文章标题 coderforces 339D : Xenia and Bit Operations (线段树+点修改)
Xenia and Bit OperationsXenia the beginner programmer has a sequence a, consisting of 2n non-negative integers: a1, a2, …, a2n. Xenia is currently studying bit operations. To better understand how they原创 2017-02-18 20:15:54 · 437 阅读 · 0 评论 -
文章标题 Coderforces 343D : Water Tree(dfs序+线段树)
Water Tree题意:有n个点的树,1为根,然后有三种操作 (1)将节点u及其子树的所有节点变为1 (2)将节点u变为0 (3)查询节点u及其子树的所有节点是否为1 分析:首先可以将树形结构变为线性结构,即用DFS序将节点u及其控制的子树节点变成区间[ in[u] , out[u] ],然后对于(2)操作,就是线段树的单点修改;对于(1)操作,由于当节点u原来为0,其所有的祖先节点都为0原创 2017-10-17 00:16:49 · 337 阅读 · 0 评论 -
文章标题 BZOJ 1036 : [ZJOI2008]树的统计Count (树链剖分 + 线段树)
Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成 一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 I II. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身Input 输原创 2017-10-20 09:14:07 · 296 阅读 · 0 评论 -
文章标题 HDU 5692 : Snacks(dfn序+线段树)
Snacks题目链接 分析:首先,先求出每个节点的第一次出现时的dfn序,用in数组维护,第二次出现的dfn序,用out数组来维护,然后,区间【in[x],out[x]】就是节点的儿子及其自己,所以可以用线段树来维护这段区间的最大值,及题目所求。 代码:#pragma comment(linker, "/STACK:1024000000,1024000000") #include <iostr原创 2017-08-25 11:37:03 · 373 阅读 · 0 评论 -
文章标题 HihoCoder - 1080 : 更为复杂的买卖房屋姿势(线段树)
更为复杂的买卖房屋姿势描述小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们可以化身上帝模式,买卖房产。在这个游戏里,会不断的发生如下两种事件:一种是房屋自发的涨价或者降价,而另一种是政府有关部门针对房价的硬性调控。房价的变化自然影响到小Hi和小Ho的决策,所以他们希望能够知道任意时刻某个街道中所有房屋的房价总和是多少——但是很不幸的,游戏本身并不提供这样的计算。不过原创 2017-07-19 16:17:33 · 393 阅读 · 0 评论 -
文章标题 POJ 3468 : A Simple Problem with Integers (线段树)
A Simple Problem with IntegersYou have N integers, A1, A2, … , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. T原创 2017-07-12 16:17:10 · 127 阅读 · 0 评论 -
文章标题 HDU 1540 : Tunnel Warfare (线段树+最大连续区间)
Tunnel WarfareDuring the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast areas of north China Plain. Generally speaking, villages connected by tunnels lay in a l原创 2017-06-30 11:53:24 · 343 阅读 · 0 评论 -
文章标题 CSU 1913 (线段树+二分答案)
CSU 1913题目 链接题意:中文题 分析:首先由于只关心最后的结果,所以op2相当于简单的撤销之前的p个op1的操作,用一个栈模拟一下即可,这样我们就能得到一个只有 op1的操作序列。 再对于保存下的只有 op1 的操作序列,对答案二分,设为 ans 。将数组中大于 ans 的数设为1,小于等于 ans 的数设为0,存到线段树中,然后每个操作 [l,r] 就变成了如下步骤原创 2017-05-31 19:57:04 · 516 阅读 · 0 评论 -
文章标题 POJ 1151 : Atlantis (线段树+扫描线)
AtlantisThere are several ancient Greek texts that contain descriptions of the fabled island Atlantis. Some of these texts even include maps of parts of the island. But unfortunately, these maps descri原创 2017-03-01 22:56:42 · 266 阅读 · 0 评论 -
文章标题 UVA 12299 : RMQ with Shifts(线段树+点修改)
RMQ with ShiftsIn the traditional RMQ (Range Minimum Query) problem, we have a static array A. Then for each query (L, R) (L<=R), we report the minimum value among A[L], A[L+1], …, A[R]. Note that the原创 2017-03-01 22:37:12 · 338 阅读 · 0 评论 -
文章标题 HDU 1754 : I Hate It (分块 、线段树)
I Hate It分块解法: 代码:#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <queue> #include <set> #include <map> #include <algorithm> #include <math.h> #include <vector> usi原创 2017-10-25 20:43:33 · 342 阅读 · 0 评论