随笔分类 - 数据结构 线段树
1
摘要:"HDU 6218 Bridge" Problem : 给一个2×n的矩阵,一开始矩阵所有相邻点之间有一条边。有其、个询问,每次给出两个相邻的点的坐标,将其中的边删除或者添加,问如此操作之后整张图的割边数量。 , q using namespace std; const int N = 2e5 +
阅读全文
摘要:"Wannafly挑战赛2_D Delete" Problem : 给定一张n个点,m条边的带权有向无环图,同时给定起点S和终点T,一共有q个询问,每次询问删掉某个点和所有与它相连的边之后S到T的最短路,询问之间互相独立(即删除操作在询问结束之后会立即撤销),如果删了那个点后不存在S到T的最短路,则
阅读全文
摘要:"CERC 2014 Pork barrel" Problem : n个点m条边有边权的无向图,有q个询问,每次询问权值在[L,R]内的边组成的最小生成树的权值和,强制在线。 n include include include include include include include incl
阅读全文
摘要:"HDU 6070 Partition" Problem : 给一段长度为n的序列,要求找出一段区间,使得这段区间的数字种类除以区间长度最小。输出最后的答案即可。(n include include include include include include include include in
阅读全文
摘要:题目大意 给一个长度为n的序列,有m个询问,每次询问一个区间里面第k小的数。 解题分析 静态的区间第k大。复习了一下可持久化线段树。 首先对数值离散化,建一颗权值线段树。按照序列的顺序依次插入,每一个数对应于一个版本的线段树。 对于每个询问[l,r],在第r个版本的线段树和第l个版本的线段树之间进行
阅读全文
摘要:题目大意 一些小朋友在排队,每次来一个人,第i个人会插到第x个人的后面。权值为y。保证x∈[0,i 1]。 按照最后的队伍顺序,依次输出每个人的权值。 解题分析 好气吖。本来是在做splay练习,然后发现这道题用splay写T掉了,可能是我的splay常数太大了吧。~~要不要考虑去学一下自顶向下建树
阅读全文
摘要:Problem This world need more Zhu 题目大意 给一颗n个点的有点权的树,有m个询问,对于每个询问u,v,k,首先将点u到点v的最短路径上的所有点按顺序编号,u的编号为1,求树链上所有点的新编号cnt满足cnt%k==0的点的权值的最大值。 n,m,k<=10^5 解题分
阅读全文
摘要:Problem Toll Management IV 题目大意 给一张n个点m条边的无向图,有边权。数据保证前n-1条边构成了一棵最小生成树。 要求对于每条边求出其边权上下最多浮动范围,使得最小生成树的形态不变(每次只改变一条边的权值)。 n<=10000,m<=1000000 解题分析 我们称在最
阅读全文
摘要:Problem Sometimes Naive 题目大意 给你一棵n个节点的树,有点权。 要求支持两种操作: 操作1:更改某个节点的权值。 操作2:给定u,v, 求 Σw[i][j] i , j 为任意两点且i到j的路径与u到v的路径相交。 解题分析 容易发现对于一个询问,答案为总点权和的平方 减去
阅读全文
摘要:Problem Rikka with Sequence 题目大意 维护一个序列,支持三种操作。 操作1:区间加。 操作二:区间开根号(向下取整)。 操作3:区间求和。 解题分析 可以发现经过若干次操作后,整些区间内的数会趋向于相同。 可以再开一个标记,表示这个区间内的数是否相同,这样可以优化一下区间
阅读全文
摘要:Problem Lights (HDU 5820) 题目大意 在一个大小为50000*50000的矩形中,有n个路灯。(n<=500000) 询问是否每一对路灯之间存在一条道路,使得长度为|x1 – x2| + |y1 – y2|且每个拐弯点都是路灯。 解题分析 官方题解: 除了从左往右扫描一遍外,
阅读全文
摘要:Problem 旅行 (BZOJ 3531) 题目大意 给定一颗树,树上的每个点有两个权值(x,y)。 要求维护4种操作: 操作1:更改某个点的权值x。 操作2:更改某个点的权值y。 操作3:求a-->b路径上所有x属性与a,b相同的点y属性的和。 操作4:求a-->b路径上所有x属性与a,b相同的
阅读全文
摘要:Problem 染色(BZOJ2243) 题目大意 给定一颗树,每个节点上有一种颜色。 要求支持两种操作: 操作1:将a->b上所有点染成一种颜色。 操作2:询问a->b上的颜色段数量。 解题分析 树链剖分+线段树。 开一个记录类型,记录某一段区间的信息。l 表示区间最左侧的颜色 , r 表示区间最
阅读全文
摘要:Problem Tree (POJ3237) 题目大意 给定一颗树,有边权。 要求支持三种操作: 操作一:更改某条边的权值。 操作二:将某条路径上的边权取反。 操作三:询问某条路径上的最大权值。 解题分析 树链剖分+线段树。练手题。 参考程序 1 #include <cstdio> 2 #inclu
阅读全文
摘要:Problem T2 (bzoj4034 HAOI2015) 题目大意 给定一颗树,1为根节点,要求支持三种操作。 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 解题分析
阅读全文
摘要:Problem Little Devil I (HDU4897) 题目大意 给定一棵树,每条边的颜色为黑或白,起始时均为白。 支持3种操作: 操作1:将a->b的路径中的所有边的颜色翻转。 操作2:将所有 有且仅有一个点在a->b的路径中 的边的颜色翻转。 操作3:询问a->b的路径中的黑色边数量。
阅读全文
摘要:Problem Aragorn's Story (HDU 3966) 题目大意 给定一颗树,有点权。 要求支持两种操作,将一条路径上的所有点权值增加或减少ai,询问某点的权值。 解题分析 树链剖分模板题。 实质上树链剖分进行了点对点的一次映射,保证了重链上的点在线段树上的位置是连续的。 树链剖分的两
阅读全文
摘要:Problem Nice boat(HDU 4902) 题目大意 维护一个序列,两种操作。 第一种操作,将一段区间[l,r]赋值为x。 第二种操作,将一段区间[l,r]中大于等于x的数与x求gcd。 询问所有操作结束后的序列。 解题分析 用线段树开一个标记same,表示这段区间中的数是否相同,若相同
阅读全文
摘要:Update 单点修改 Query 区间询问
阅读全文
摘要:Update 区间修改 Query 区间询问
阅读全文
1

浙公网安备 33010602011771号