树链剖分
Coco_T_
东南大学本科毕业生,浙江大学在读研究生
展开
-
树链剖分(模板)
luogu题库 题目描述如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作:操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z操作2: 格式: 2 x y 表示求树从x到y结点最短路径上所有节点的值之和操作3: 格式: 3 x z 表示将以x为根节点的子树内所有节点值都加上z操作4: 格式: 4 x 表示求以x为根节点的子树内所原创 2017-03-17 20:33:37 · 288 阅读 · 0 评论 -
bzoj3924 [Zjoi2015]幻想乡战略游戏(树链剖分)
Description 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来,更别说和别人打仗了。 在打仗之前,幽香现在面临一个非常基本的管理问题需要解决。 整个地图是一个树结构,一共有n块空地,这些空地被n-1条带权边连接起来,使得每两个点之间有...原创 2018-02-22 09:56:12 · 325 阅读 · 0 评论 -
cv1228 苹果树(树链剖分)
题目链接分析: 练了一下链剖的基本操作#include#include#includeusing namespace std;const int N=100005;int n,m,st[N],tot=0,t[N2];struct node{ int y,nxt;};node way[N1];int top[N],size[N],son[N],deep[N],原创 2018-02-07 08:25:14 · 183 阅读 · 0 评论 -
bzoj4448 [Scoi2015]情报传递(树链剖分+主席树)
题目链接分析: 树上路径问题,显然可以链剖看完题的我,大脑中浮现的想法↓: 对于每一个修改,在按照树链剖分建立的线段树上单点修改 记录这个点是什么时刻进行的修改 之后在询问的时候,我们只需查找区间内有多少时间戳小于等于“当前时刻-C-1”的结点即可 那么我们就可在线段树里套一个权值平衡树 这道题的题解:树链剖分+线段树+平衡树我的MA呀,不觉得神烦吗???实际上我们的问...原创 2018-02-10 21:23:27 · 321 阅读 · 0 评论 -
bzoj2325 [ZJOI2011]道馆之战(树链剖分+线段树)
Description口袋妖怪(又名神奇宝贝或宠物小精灵)红/蓝/绿宝石中的水系道馆需要经过三个冰地才能到达馆主的面前,冰地中的每一个冰块都只能经过一次。当一个冰地上的所有冰块都被经过之后,到下一个冰地的楼梯才会被打开。三个冰地分别如下: 当走出第三个冰地之后,就可以与馆主进行道馆战了。馆主发现这个难度太小,导致经常有挑战者能通过,为了加大难度,将道馆分成了n个房间,每个房间中是两个冰块原创 2018-02-03 22:00:19 · 287 阅读 · 0 评论 -
bzoj4515 [Sdoi2016]游戏(树链剖分+超哥线段树)
题目链接分析: 这道题要是让我做,就是模拟暴力 我们的目的是通过这道题学习一下超哥线段树在树上的区间修改,维护最小值 可以立刻联想到树链剖分用线段树维护最小值但是这个disdis让人很不爽啊 显然s~t的路径可以分成s~lca和lca~t两条路径 令deep[x]deep[x]表示xx的深度, 对于s~lca上面的点xx,修改的值相当于a∗(deep[s]−deep[x])原创 2018-01-15 14:50:04 · 359 阅读 · 0 评论 -
poj3694 Network (LCT+并查集 | tarjan+树链剖分)
DescriptionA network administrator manages a large network. The network consists of N computers and M links between pairs of computers. Any pair of computers are connected directly or indirectly by原创 2018-01-21 10:39:56 · 289 阅读 · 0 评论 -
bzoj2836 魔法树
DescriptionInputOutputSample Input4 0 1 1 2 2 3 4 Add 1 3 1 Query 0 Query 1 Query 2Sample Output3 3 2tip开ll//这里写代码片#include<cstdio>#include<cstring>#include<iostream>#define ll long longu原创 2017-12-03 20:15:43 · 300 阅读 · 0 评论 -
bzoj2157 旅游
DescriptionRay 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说, T 城中只有N − 1 座桥。Ray 发现,有些桥上可以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray 经过这座原创 2017-09-03 21:58:56 · 428 阅读 · 0 评论 -
bzoj4034 [HAOI2015]树上操作
题目链接分析: 树链剖分练手题 注意线段树是建立在dfs序上的,所以子树一定在线段树上是一个连续的区间 子树加的时候直接线段树区间加即可 询问树链信息的时候,因为top,deep,pre数组都是建立在原树上的 所以传入的是原树上的结点编号(输入编号)这道题也算是一个史前巨坑了,以前一直A不了 今天终于一A了tip开ll//这里写代码片#include<cstdio>#include<原创 2017-11-09 10:54:01 · 360 阅读 · 0 评论 -
luoguP3384 树链剖分(链+子树)
在noip前夕,来一波模板树链剖分一直是我认为比较难的数据结构 有一些很重要的细节需要注意 就拿这个询问树链权值和的函数来说吧:ll asksum(int x,int y) //传入的是原树上的结点编号 { ll ans=0; int f1=top[x]; int f2=top[y]; while (f1!=f2) { if原创 2017-11-07 21:40:14 · 278 阅读 · 0 评论 -
poj3237 Tree
DescriptionYou are given a tree with N nodes. The tree’s nodes are numbered 1 through N and its edges are numbered 1 through N − 1. Each edge is associated with a weight. Then you are to execute a seri原创 2017-09-04 19:05:34 · 236 阅读 · 0 评论 -
bzoj4719 [Noip2016]天天爱跑步
Description 小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。?天天爱跑步?是一个养成类游戏,需要 玩家每天按时上线,完成打卡任务。这个游戏的地图可以看作一一棵包含 N个结点和N-1 条边的树, 每条边连接两 个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从1到N的连续正整数。现在有个玩家,第个玩家的 起点为Si ,终点为Ti 。每天打卡任务开始时原创 2017-09-06 15:59:43 · 284 阅读 · 0 评论 -
poj2763 Housewife Wind
DescriptionAfter their royal wedding, Jiajia and Wind hid away in XX Village, to enjoy their ordinary happy life. People in XX Village lived in beautiful huts. There are some pairs of huts connected by原创 2017-09-03 17:48:01 · 285 阅读 · 0 评论 -
codeforces600E. Lomsat gelral(dsu on tree)
You are given a rooted tree with root in vertex 1. Each vertex is coloured in some colour. Let’s call colour c dominating in the subtree of vertex v if there are no other colours that appear in the su原创 2017-08-24 21:38:35 · 405 阅读 · 0 评论 -
dsu on tree
鸣谢yvehyveh:看看我还有什么压箱底的东西http://blog.csdn.net/qaq__qaq/article/details/53455462原创 2017-08-24 20:06:25 · 361 阅读 · 0 评论 -
bzoj1513 [POI2006]Tet-Tetris 3D(二维线段树)
Description“Tetris” 游戏的作者决定做一个新的游戏, 一个三维的版本, 在里面很多立方体落在平面板,一个立方体开始落下直到碰上一个以前落下的立方体或者落地即停止. 作者想改变一下游戏的目的使得它更大众化,在新游戏中你将知道落下的立方体信息以及位置,你的任务就是回答所有立方体落下后最高的方块的高度.所有的立方体在下落过程中都是垂直的并且不会旋转.平板左下角坐标为原点,并且平...原创 2018-03-05 17:10:56 · 321 阅读 · 0 评论