当前搜索:

生命之树

题目大意ansu=∑i在u子树中∑j在u子树中且i<j(vi xor vj)∗LCP(Si,Sj)ans_u=\sum_{i在u子树中}\sum_{j在u子树中且i<j}(v_i\ xor\ v_j)*LCP(S_i,S_j) 每个点都有点权v和一个字符串S,求ans[]。做法可以想...
阅读(161) 评论(0)

[CF600E]Lomsat gelral

题目大意统计每个子树里出现次数最多的颜色编号和。dsu on tree裸题吧。#include<cstdio> #include<algorithm> #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; t...
阅读(364) 评论(0)

[bzoj4543/3522]Hotel

题目大意一颗n个节点的树。 找三个不同编号的节点,使它们两两间距离相同(一条边距离视作1),求方案数。 在3522的版本中,n<=5000 在4543的版本中,n<=1000003522我们来考虑DP 用f[i,j]表示以i为根的子树里与i距离为j的点的个数。 g[i,j]表...
阅读(672) 评论(0)

相位幻击

题目描述对子树整体异或或询问路径异或和树链剖分裸上#include<cstdio> #include<algorithm> #include<cmath> #define fo(i,a,b) for(i=a;i<=b;i++) #define fd(i,a...
阅读(264) 评论(0)

[bzoj1969][AHOI2005]LANE 航线规划

题目大意一个n个节点m条边的图,两点间的关键边定义为从一点走到另一个点必须经过的边。 现有许多操作,删一条边或者询问两点间的关键边数量。 保证任意时刻原图联通。时间倒流先把所有边删掉,然后倒着做,转删边为加边。 然后我们思考,最后原图也是联通的,那么做边双联通分量缩点后,就会变成一棵树。 ...
阅读(738) 评论(0)

nekopara

题目描述树链剖分把边和询问放在一起按照权值排序,权值相同询问优先。 假如树上每条边都用01表示是否超过当前limit。 扫到一条边,就是把对应边从0变成1。 扫到一个询问,就直接询问了。 树链剖分,线段树维护区间长度、答案、左边/右边的连续1个数。 然后就可做了。#include<...
阅读(300) 评论(0)

[JSOI2016]轻重路径

题目大意给定一颗二叉树。 每次删除一个叶子节点,并要求输出所有重链指向结点编号之和。 初始也要输出一次。 初始时,如果一个结点的两个儿子大小相同,则选择左儿子为重儿子。 一次删除操作后,如果一个结点的两个儿子大小相同,则不改变原先的重儿子选择。发现如果删除一个叶子,重儿子指向可能会发生改变...
阅读(1053) 评论(0)

染色

题目大意给定一颗树,每个点默认白色,有两种操作。 把一个点染黑(不保证此时该点为白色) 询问一个点与所有黑点的距离和树剖先把原树转化为有根树。 然后询问一个点u,就是枚举每一个黑点v 然后贡献为d[u]+d[v]-2*d[lca(u,v)] 记录黑点的总个数和深度和,前两项很容易求和,最...
阅读(437) 评论(0)

[bzoj3531][SDOI2014]旅行

题目大意给定一颗树,每个节点有颜色和权值,你需要兹瓷四个操作: 1、改变一个点的颜色 2、改变一个点的权值 3、询问一条路径上和起点同颜色的点的和 4、询问一条路径上和起点同颜色的点的最大值题解和数树数思路相同 树剖维护即可#include<cstdio> #include&...
阅读(530) 评论(0)

[bzoj1036]树的统计

题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。   我们将以下面的形式来要求你对这棵树完成一些操作:   I. CHANGE u t : 把结点u的权值改为t   II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值   III. QS...
阅读(586) 评论(0)
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 39万+
    积分: 1万+
    排名: 1455
    最新评论
    文章分类