【BZOJ2631】tree】的更多相关文章

2016-06-01 08:50:36 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2631 注意加和乘的标记下传问题. 还有就是split后,要分清x和y哪个是祖先. pushup在access和rotate后都要进行. 这题还卡常数,开ll就会T,开unsigned int即可. #include<bits/stdc++.h> #define inf 1000000000 #define uint unsigned int #def…
Description 一棵n个点的树.每一个点的初始权值为1. 对于这棵树有q个操作,每一个操作为下面四种操作之中的一个: + u v c:将u到v的路径上的点的权值都加上自然数c: - u1 v1 u2 v2:将树中原有的边(u1,v1)删除,增加一条新边(u2,v2),保证操作完之后仍然是一棵树: * u v c:将u到v的路径上的点的权值都乘上自然数c: / u v:询问u到v的路径上的点的权值和.求出答案对于51061的余数. Input 第一行两个整数n,q 接下来n-1行每行两个正…
题目描述 一棵n个点的树,每个点的初始权值为1.对于这棵树有q个操作,每个操作为以下四种操作之一:+ u v c:将u到v的路径上的点的权值都加上自然数c:- u1 v1 u2 v2:将树中原有的边(u1,v1)删除,加入一条新边(u2,v2),保证操作完之后仍然是一棵树:* u v c:将u到v的路径上的点的权值都乘上自然数c:/ u v:询问u到v的路径上的点的权值和,求出答案对于51061的余数. 输入 第一行两个整数n,q接下来n-1行每行两个正整数u,v,描述这棵树接下来q行,每行描述…
[POJ3237]Tree Description You are given a tree with N nodes. The tree's nodes are numbered 1 through N and its edges are numbered 1 through N − 1. Each edge is associated with a weight. Then you are to execute a series of instructions on the tree. Th…
LCT 又一道名字叫做Tree的题目…… 看到删边加边什么的……又是动态树问题……果断再次搬出LCT. 这题比起上道[3282]tree的难点在于需要像线段树维护区间那样,进行树上路径的权值修改&查询.那么类似的,我们就可以在splay的每个节点上记录一坨信息了…… 个人感觉跟线段树标记不一样的地方: 1.标记只是给儿子们用的,打标记的节点本身在打标记的同时就修改了信息了,然后在Push_down的时候直接放下去……(没法在push_down的时候更新自己,要不mul标记怎么改?) 2.虽然sp…
[Luogu1501]Tree(Link-Cut Tree) 题面 洛谷 题解 \(LCT\)版子题 看到了顺手敲一下而已 注意一下,别乘爆了 #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<set> #include<map>…
[BZOJ3282]Tree (Link-Cut Tree) 题面 BZOJ权限题呀,良心luogu上有 题解 Link-Cut Tree班子提 最近因为NOIP考炸了 学科也炸了 时间显然没有 以后再来填LCT的坑 这种题目直接上代码了.. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<alg…
[AtCoder3611]Tree MST(点分治,最小生成树) 题面 AtCoder 洛谷 给定一棵\(n\)个节点的树,现有有一张完全图,两点\(x,y\)之间的边长为\(w[x]+w[y]+dis(x,y)\),其中\(dis\)表示树上两点的距离. 求完全图的\(MST\). 题解 首先连边的这个式子可以直接转换成树上的两点间的路径,所以接下来只考虑\(dis(x,y)\). 考虑\(Boruvka\)算法的执行过程,每次都会选择到达一个点集最近的一个点,然后将他们连边. 现在考虑模拟这…
[HDU5909]Tree Cutting(FWT) 题面 vjudge 题目大意: 给你一棵\(n\)个节点的树,每个节点都有一个小于\(m\)的权值 定义一棵子树的权值为所有节点的异或和,问权值为\(0..m-1\)的所有子树的个数 题解 考虑\(dp\) 设\(f[i][j]\)表示以\(i\)为根节点的子树中,异或和为\(j\)的子树的个数 很显然,每次合并就是两个\(dp\)值做\(xor\)卷积 那么直接用\(FWT\)优化就行了 #include<iostream> #inclu…
[BZOJ2654]Tree(凸优化,最小生成树) 题面 BZOJ 洛谷 题解 这道题目是之前\(Apio\)的时候写的,忽然发现自己忘记发博客了... 这个万一就是一个凸优化, 给所有白边二分一个额外权值,并且给边权加上这个权值. 然后跑最小生成树,将限制问题转换为判定问题即可. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath…