
树链剖分
Lynstery
一只蒟蒻
展开
-
[树链剖分] BZOJ1036: [ZJOI2008]树的统计Count
题意给出一棵树,单调修改点权,询问路径点权和与点权最大值。解析树链剖分模板题,线段树只需要支持单点修改+区间询问即可。#include<cstdio> #include<algorithm> using namespace std; const int maxn=30005,maxe=60005; int n,Q,w[maxn],fir[maxn],nxt[maxe],son[maxe],tot;原创 2017-02-11 21:54:12 · 442 阅读 · 0 评论 -
树链剖分——模板整理
可解决在给定的树上的路径问题。 复杂度:O(log2nlog_2n)#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=100015, maxe=200015; int n,Q,fir[maxn],nxt[maxe],son[maxe],w[maxe],tot; int原创 2017-02-21 19:53:29 · 506 阅读 · 0 评论 -
[树链剖分+李超线段树] BZOJ4515: [Sdoi2016]游戏
先进行转化,把路径分成两条链,a(deps−depi)+b=(−a)∗depi+a∗deps+ba(dep_s-dep_i)+b=(-a)*dep_i+a*dep_s+b…类似这样变形一下,就转化成和 k∗depi+bk*dep_i+b 的形式。depidep_i 是递增的,所以可以看做是一次函数 y=kx+by=kx+b 在某些离散的点上有定义。 现在需要实现区间插入线段,求区间最小值。这个问题原创 2017-12-02 06:19:04 · 423 阅读 · 0 评论