树链剖分
文章平均质量分 85
九野的博客
这个作者很懒,什么都没留下…
展开
-
FZU 2082 求树上任意点间距离 边权转为点权 树链剖分
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2082思路:边权转点权:由于线段树中的点是节点,则把题目给的边权值作为 边一端 距离根更远的节点的点权值。直接设置根权值为0 这样不会影响题意。因为求的的是两点间所有的点权和,所以要减去 LCA(u,v),因为这个点所代表的边是没有在路径上的。#include#include#inc原创 2014-03-01 22:46:44 · 3034 阅读 · 0 评论 -
codeforce 342E 树链剖分 || 分块
#include#include#include#includeusing namespace std;#define yt eg[i].to#define lson l,m,a[rt].ls#define rson m+1,r,a[rt].rs#define pb push_backconst int N=100005,inf=1000001;int cn原创 2013-12-11 22:34:40 · 2374 阅读 · 0 评论 -
Spoj 375 QTREE1 树链剖分裸题
题目链接:http://www.spoj.com/problems/QTREE/题意:T个测试案例n个点的树下面n-1条边和边权 change u v 把第u-th给出的边 的边权改为vquery 询问路径 [u, v] 间最大的边权 #include#include#include#include#include#define N 1原创 2013-12-14 21:20:03 · 1811 阅读 · 1 评论 -
Spoj 6779 Can you answer these queries VII 树链剖分 在树上任意路径的最大子段和 区间修改点权
题目链接:点击打开链接题意:rt。。在询问时,两端向上爬时记录从深度浅的到深度深的方向上的 (也就是左最大连续子段和)最后两个点在同一条重链上时合并。合并时要注意有4种情况, 详见代码。线段树部分和5相似。#include #include #include #include using namespace std;inline void rd(int &n)原创 2014-09-02 13:00:00 · 1967 阅读 · 0 评论 -
HDU 5052 Yaoge’s maximum profit 裸树链剖分 2014 ACM/ICPC Asia Regional Shanghai Online
题意:给定n个点的带点权树。下面n行给出每个点点权表示每个点买卖鸡腿的价格下面n-1行给出树边下面Q个操作Q行u, v, val从u走到v,过程中可以买一个鸡腿,然后到后面卖掉,输出max(0, 最大的收益)然后给[u,v]路径上点点权+=val思路:树链剖分裸题屌丝题解:点击打开链接#pragma comment(linker, "/STA原创 2014-09-28 16:57:45 · 1688 阅读 · 0 评论 -
1036: [ZJOI2008]树的统计Count 树链剖分裸题
题目链接:http://www.lydsy.com/JudgeOnline/status.php?user_id=a654889339树链剖分裸题:#include#include#include#include#define N 60003#define L(x) (x<<1)#define R(x) (x<<1|1)#define Mid(x,y) ((x+原创 2014-01-16 09:37:14 · 1490 阅读 · 0 评论