树链剖分
olahiuj
我的女朋友不抽烟不喝酒不傲娇不化妆不存在
展开
-
[ZJOI2008]树的统计Count bzoj1036 树链剖分
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本身Solution原创 2017-03-28 19:31:12 · 431 阅读 · 0 评论 -
cf487E Tourists 圆方树+树链剖分
Solution给定一个无向图,要求资磁 1. 询问两点间简单路径的并上的点权最小值 2. 修改点权Solution看到简单路径的并可以想到圆方树,要修改可以考虑树剖 最初的想法是方点记录所在连通分量的最小点权,但是这样修改就不好做了 看了题解才知道可以只记录圆儿子的点权,那么修改的时候就是一一对应的了,这个可以用支持插入删除求最值的multiset搞 需要注意的是当...原创 2018-07-16 11:29:10 · 221 阅读 · 0 评论 -
bzoj5379 Tree dfs序列+线段树+lca
Description给出一棵树,要求资磁一下三个操作 1. 换根为x 2. 将x的子树内所有点权加上y 3. 记x,y的lca为z,求z所在子树内所有点权之和Solution这道题一看就非常签到,实在不会还可以LCT水分对于操作1我们不用真的换根,用一个变量root记录此时的根即可 对于操作2我们可以根据x和root的相对关系判断是dfs序上的连续一段还是它的补集...原创 2018-08-09 15:34:03 · 179 阅读 · 0 评论 -
bzoj5404 party 树链剖分+bitset
Description Solution我好弱啊,第一档分都没拿到手orz首先看清题意,这是一个有向图 一个朴素的想法就是我们倍增记录rec[i,j]表示i向上2^k层后包含节点颜色的bitset,m只有1k 注意到这样非常慢,考虑轻重链剖分的做法。我们记录rec[i]为i到链顶节点包含颜色的bitset,对于不满一整条链的我们用线段树查询,这样可以做到一个log...原创 2018-08-16 19:52:50 · 176 阅读 · 0 评论 -
bzoj4515 [Sdoi2016]游戏 树链剖分+李超树
DescriptionAlice 和 Bob 在玩一个游戏。 游戏在一棵有 n 个点的树上进行。最初,每个点上都只有一个数字,那个数字是 123456789123456789。 有时,Alice 会选择一条从 s 到 t 的路径,在这条路径上的每一个点上都添加一个数字。对于路径上的一个点 r, 若 r 与 s 的距离是 dis,那么 Alice 在点 r 上添加的数字是 a×dis+...原创 2018-09-06 17:44:56 · 197 阅读 · 0 评论 -
bzoj3999 [TJOI2015]旅游 树链剖分
Description为了提高智商,ZJY准备去往一个新世界去旅游。这个世界的城市布局像一棵树。每两座城市之间只有一条路径可以互达。每座城市都有一种宝石,有一定的价格。ZJY为了赚取最高利益,她会选择从A城市买入再转手卖到B城市。由于ZJY买宝石时经常卖萌,因而凡是ZJY路过的城市,这座城市的宝石价格会上涨。让我们来算算ZJY旅游完之后能够赚取的最大利润。(如a城市宝石价格为v,则ZJY出售价...原创 2018-10-07 16:50:42 · 231 阅读 · 0 评论 -
jzoj5914 盟主的忧虑 树链剖分
Description江湖由 N 个门派(2≤N≤100,000,编号从 1 到 N)组成,这些门派之间有 N-1 条小道将他们连接起来,每条道路都以“尺”为单位去计量,武林盟主发现任何两个门派都能够直接或者间接通过小道连接。虽然整个江湖是可以互相到达的,但是他担心有心怀不轨之徒破坏这个武林的安定,破坏小道,于是武林盟主又秘密地修建了 M 条密道(1≤M≤100,000),但每条小道距离都不...原创 2018-10-19 15:32:40 · 298 阅读 · 0 评论 -
luogu4719 动态dp
Description给定一棵n个点的树,点带点权。有m次操作,每次操作给定x,y,表示修改点x的权值为y。你需要在每次操作之后求出这棵树的最大权独立集的权值大小。对于30%的数据,1≤n,m≤10对于60%的数据,1≤n,m≤1000对于100%的数据,1≤n,m≤105Solution传说中的动态dp无修的版本非常好做,f[x,0/1]直接dp就可以了对于有修改的版本我...原创 2018-12-26 19:54:47 · 219 阅读 · 0 评论 -
bzoj4811 [Ynoi2017]由乃的OJ 树链剖分
Description给你一个有n个点的树,每个点的包括一个位运算opt和一个权值x,位运算有&,l,^三种,分别用1,2,3表示。每次询问包含三个数x,y,z,初始选定一个数v。然后v依次经过从x到y的所有节点,每经过一个点i,v就变成v optixi,所以他想问你,最后到y时,希望得到的值尽可能大,求最大值?给定的初始值v必须是在[0,z]之间。每次修改包含三个数x,y,z,意...原创 2019-02-21 20:15:13 · 148 阅读 · 0 评论 -
bzoj5338 [TJOI2018]xor 可持久化trie+树链剖分
Description现在有一颗以1为根节点的由n个节点组成的树,树上每个节点上都有一个权值vi。现在有Q 次操作,操作如下:1 x y 查询节点x的子树中与y异或结果的最大值2 x y z 查询路径x到y上点与z异或结果最大值Solution无聊题,第一问的话dfs序建可持久化trie就行了,第二问可以树上建可持久化trie也可以树链剖分,1e5随便写嘛Code...原创 2019-03-21 16:40:14 · 171 阅读 · 0 评论 -
bzoj 4012 [HNOI2015]开店 树链剖分+可持久化线段树
Description给一棵树,Q次询问颜色在[L,R]之间的点到x的距离之和,强制在线n≤1.5×105,Q≤2×105n\le1.5\times10^5,Q\le2\times10^5n≤1.5×105,Q≤2×105Solution带修改的话就是树套树,这里不用修改就可持久化就好了说一下这里标记永久化的做法吧对于一个修改区间[l,r],如果它完全包含了当前线段区间[tl,tr...原创 2019-04-02 08:25:16 · 151 阅读 · 0 评论 -
bzoj4999 This Problem Is Too Simple!树链剖分+线段树
Description给您一颗树,每个节点有个初始值。 现在支持以下两种操作: 1. C i x(0<=x<2^31) 表示将i节点的值改为x。 2. Q i j x(0<=x<2^31) 表示询问i节点到j节点的路径上有多少个值为x的节点。Solution最开始想到3个log的做法,显然是过不了的 注意到多种颜色很烦,那么我们可以考虑每种颜...原创 2018-06-22 21:46:02 · 204 阅读 · 0 评论 -
bzoj3589 动态树 树链剖分
Description别忘了这是一棵动态树, 每时每刻都是动态的. 小明要求你在这棵树上维护两种事件 事件0: 这棵树长出了一些果子, 即某个子树中的每个节点都会长出K个果子. 事件1: 小明希望你求出几条树枝上的果子数. 一条树枝其实就是一个从某个节点到根的路径的一段. 每次小明会选定一些树枝, 让你求出在这些树枝上的节点的果子数的和. 注意, 树枝之间可能会重合, 这时重合的部...原创 2018-05-30 21:46:02 · 279 阅读 · 0 评论 -
bzoj2157 旅游 树链剖分
DescriptionRay 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间有且只有一条路径。换句话说, T 城中只有N − 1 座桥。Ray 发现,有些桥上可以看到美丽的景色,让人心情愉悦,但有些桥狭窄泥泞,令人烦躁。于是,他给每座桥定义一个愉悦度w,也就是说,Ray 经过这座原创 2017-12-21 21:55:22 · 294 阅读 · 0 评论 -
bzoj2243 [SDOI2011]染色 树链剖分
Description给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。“C a b c”表示这是一个染色操作,把节点a到节点b路径上所有点(包括a和b)都染成颜色c; “原创 2017-12-22 21:36:08 · 233 阅读 · 0 评论 -
bzoj3631 [JLOI2014]松鼠的新家 树链剖分
Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,……,最后到an,去参观新家。 可是这样会导致维尼重复走很多房间,懒惰的维尼不听地推辞。可是松鼠告诉他,每原创 2017-12-31 23:28:28 · 233 阅读 · 0 评论 -
bzoj4551 [Tjoi2016&Heoi2016]树 树链剖分+树状数组+二分答案
Description在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个 结点,可以打多次标记。)2. 询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖 先)你能帮帮他吗?1 ≤ N, Q ≤ 100000Sol原创 2018-01-02 21:36:12 · 325 阅读 · 0 评论 -
bzoj4196 [Noi2015] 软件包管理器 树链剖分
DescriptionLinux用户和OSX用户一定对软件包管理器不会陌生。通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个软件包的安装所依赖的其它软件包),完成所有的配置。Debian/Ubuntu使用的apt-get,Fedora/CentOS使用的yum,以及OSX下可用的homebrew都是优秀原创 2018-01-13 16:58:01 · 243 阅读 · 0 评论 -
bzoj3083 遥远的国度 树链剖分+lca
Descriptionzcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度。当zcwwzdjn准备进入遥远的国度继续追杀时,守护神RapiD阻拦了zcwwzdjn的去路,他需要zcwwzdjn完成任务后才能进入遥远的国度继续追杀。问题是这样的:遥远的国度有n个城市,这些城市之间由一些路连接且这些城市构成了一颗树。这个国度有一个首都,我们可以把这个首都看做整棵树的根,但遥原创 2018-01-05 22:00:22 · 249 阅读 · 0 评论 -
bzoj3626 [LNOI2014]LCA 树链剖分
Description给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。 设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。 有q次询问,每次询问给出l r z,求sigma_{l(即,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和)共5组数据,n与q的规模分别为10000,20000,3000原创 2018-01-17 10:17:42 · 235 阅读 · 0 评论 -
jzoj3797 [NOIP2014模拟8.21] 签到题3
Description题目极不友好 给定一棵有根树(根节点为1),每个点都带有权值,对于点u,其权值设为a[u],其父亲为fa[i]。现有两个函数f1,f2,定义如下: 如果u=1,f1[u]=a[u],f2[u]=1 否则 如果f1[fa[u]]+1 如果f1[fa[u]]+1 > a[u] f1[u]=f1[fa[u]]+1,f2[u]=f2[fa[u]] 如果f1[fa[原创 2018-02-03 16:27:41 · 446 阅读 · 0 评论 -
bzoj3531 [Sdoi2014]旅行
DescriptionS国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。 为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城...原创 2018-03-23 19:58:59 · 201 阅读 · 0 评论 -
bzoj4712 洪水 树链剖分
Description小A走到一个山脚下,准备给自己造一个小屋。这时候,小A的朋友(op,又叫管理员)打开了创造模式,然后飞到 山顶放了格水。于是小A面前出现了一个瀑布。作为平民的小A只好老实巴交地爬山堵水。那么问题来了:我们把这 个瀑布看成是一个n个节点的树,每个节点有权值(爬上去的代价)。小A要选择一些节点,以其权值和作为代价将 这些点删除(堵上),使得根节点与所有叶子结点不连通...原创 2018-06-11 21:50:24 · 260 阅读 · 0 评论 -
loj #3088 「GXOI / GZOI2019」旧词 离线+树链剖分
Descriptionn个节点的树,m次询问(x,y)求∑i=1x(dep[lca(i,y)])k\sum_{i=1}^x{{\left(dep[lca\left(i,y\right)]\right)}^k}i=1∑x(dep[lca(i,y)])k其中k是一个给定的常数Solution观察k=1的时候要怎么做。我们离线按x排序,对于一个节点t把根到t路径上的所有点全部+1。那么y...原创 2019-04-28 17:18:01 · 269 阅读 · 0 评论