题目链接:http://poj.org/problem?id=2763 题意:给一个数,边之间有权值,然后两种操作,第一种:求任意两点的权值和,第二,修改树上两点的权值。 题解:简单的树链剖分。 ...
题意:给出n个点n-1条边的树,有两个操作,一个是查询节点l到r的边的最大值,然后指定边的更改权值。 题解:差不多是树链剖分的模版题,注意每个点表示的边是连向其父亲节点的边。 ...
分类:
其他好文 时间:
2017-04-26 12:53:23
阅读次数:
234
省选被暴虐,成功爆0。。。顺便ditoly差点全省总分Rank1 orz..... 于是开始赶进度学新算法。。。。 然后决定开始学习树剖orz。。。 发现树剖很好用啊!!!! 然后做了模板题。 题目就是给你一棵树,然后每次操作是查询或者增加一条树上2点路径/子树的值。 解题思路:都说了是树剖模板题, ...
分类:
其他好文 时间:
2017-04-25 11:34:33
阅读次数:
119
题解:http://www.cnblogs.com/clrs97/p/6006305.html 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<vecto ...
分类:
其他好文 时间:
2017-04-24 19:04:49
阅读次数:
170
又到了愉悦的省选季,sjzez全体高一蒟蒻跟着高二神犇去秦皇岛围观+打酱油,下面是本次旅程的一些(没用的)记录。 Day -1 整理东西的时候蛋疼地发现身份证找不到了……明天上飞机只能用户口本了。 这次的考场和NOIP一样,依旧是喜闻乐见的燕山大学,连旅馆都一样……估计明年NOIP也是这里了。 因为 ...
分类:
其他好文 时间:
2017-04-24 18:17:27
阅读次数:
391
应该是一道很水的题吧。。。 显然可以用树链剖分解决这个问题,虽然不知道多一个log会不会T。但是由于问题的特殊性。 每次修改都是将边权为1的边修改为0,且询问的是点i到根节点的路径长度。 令点i到根节点的路径长度为w[i],显然初始时w[i]=dep[i].考虑修改边为(u,v),那么令u为深度大的 ...
分类:
编程语言 时间:
2017-04-22 20:38:46
阅读次数:
252
链接: http://acm.hdu.edu.cn/showproblem.php?pid=3966 代码: ...
分类:
其他好文 时间:
2017-04-21 20:29:54
阅读次数:
229
树链剖分是一种应付树上修改和查询的算法(数据结构),要求树的形态不发生改变(改变的要用LCT维护) 树剖可以解决如下问题:路径修改(查询),子树修改(查询),单点修改。 其实有的题目DFS序即可,还有的要用点分治会明显方便一些。 本模板支持:输入p,q,查询p,q的路径上的权值和,给定p,w,将p子 ...
分类:
其他好文 时间:
2017-04-20 22:45:55
阅读次数:
178
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5293 在一棵树中,给出若干条链和链的权值。求选取不相交的链使得权值和最大。 比赛的时候以为是树链剖分就果断没去想,事实上是没思路。 看了题解,原来是树形dp。话说多校第一场树形dp还真多。。。。 维护d[i ...
分类:
其他好文 时间:
2017-04-16 09:46:26
阅读次数:
243
知识点-树链剖分 “在一棵树上进行路径的修改、求极值、求和”:乍一看只要线段树就能轻松解决,实际上,仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。 树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。 记siz[v]表示以v为根的子树的节点数,dep[v]表示v的深度 ...
分类:
其他好文 时间:
2017-04-14 14:15:00
阅读次数:
274