
树链剖分
阿柟的小星星
大学四年,归来一张白纸
展开
-
poj 1330 Nearest Common Ancestors (树链剖分版LCA)
DescriptionA rooted tree is a well-known data structure in computer science and engineering. An example is shown below: In the figure, each node is labeled with an integer from {1, 2,…,16}. Node 8 i原创 2017-07-13 19:53:34 · 253 阅读 · 0 评论 -
bzoj 4034 树上操作 (树链剖分 + 线段树)
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 Input 第一行包含两个整数 N, M 。表示点数和操作数。接下来一行 N 个整数,原创 2017-07-13 21:19:56 · 276 阅读 · 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-07-21 19:46:49 · 250 阅读 · 0 评论 -
bzoj 4326 运输计划 (树链剖分 + 树上差分 + 二分)
不想贴题面系列…… 这道题就是先二分一个答案,然后check,如果路线的总长度比二分的答案大,就把它们拎出来进行树上差分(求它们所有路线都经过的边),然后把这条边的权值减掉(贪心),反复check即可。#include <bits/stdc++.h> using namespace std;const int N = 300010; int n, m;struct E { int v, w原创 2017-10-26 10:37:46 · 309 阅读 · 0 评论 -
NOIP 2013 货车运输 (树链剖分)
题目描述 DescriptionA 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。输入描述 Input Description第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路。 接下来 m 行每行 3 个整数原创 2017-10-26 12:22:44 · 398 阅读 · 0 评论