题解:和cf的一道题比较类似 首先跑一个MST 对于这个树做树链剖分 枚举不在这个树上的边找严格小于这条边的最大边权值 然后求ans 1977: [BeiJing2010组队]次小生成树 Tree Description 小 C 最近学了很多最小生成树的算法,Prim 算法、Kurskal 算法、消 ...
分类:
其他好文 时间:
2018-07-20 21:41:05
阅读次数:
223
题目大意:有一棵n个节点的树,m年。初始每个节点都有。每天有如下操作:1. 给定c,让c没有(c只可能没有一次)。2. 给定s,t,k,y,求从第y+1年到现在(即忽略y+1年之前的操作1),s到t的路径上第k个有的节点(不存在输出-1)。解题思路:首先树链剖分,然后对每天建主席树。我们把有设为1, ...
分类:
其他好文 时间:
2018-07-19 21:13:03
阅读次数:
157
1 /* 2 题意:给定一个数,修改u->v路径上的点权,查询每点的值 3 题解:基于点权 4 时间:2018.07.18 5 */ 6 7 #include 8 using namespace std; 9 10 typedef long long LL; 11 const int MAXN = ... ...
分类:
其他好文 时间:
2018-07-18 17:18:34
阅读次数:
169
题目链接 这道题主要是要考虑到同一棵子树中dfs序是连续的 然后我就直接上树剖了。。。 其实完全不用树链剖分,我们可以重新考虑一下题目中的3种操作 1、将子树全部赋成1,直接dfs序+线段树区间修改 2、将节点的祖先全部赋成0。我们可以知道,如果一个节点的子树中有1个0,那么这个节点一定会被赋成0, ...
分类:
其他好文 时间:
2018-07-13 13:29:58
阅读次数:
172
原文链接https://www.cnblogs.com/zhouzhendong/p/CC-FIBTREE.html 题目传送门 - CC-FIBTREE 题意 题解 代码 ...
分类:
其他好文 时间:
2018-07-12 19:56:55
阅读次数:
190
1 #include 2 using namespace std; 3 const int MAXN=1e5+5; 4 //要开long long! 5 #define LL long long 6 vector nei[MAXN]; 7 struct Tedge 8 { 9 int u,v; 10... ...
分类:
其他好文 时间:
2018-07-12 17:59:05
阅读次数:
152
推荐几个博客:https://blog.csdn.net/y990041769/article/details/40348013 树链剖分详解 https://blog.csdn.net/ACdreamers/article/details/10591443 树链剖分原理 1.(HDOJ3966)h ...
分类:
其他好文 时间:
2018-07-09 17:56:55
阅读次数:
200
//树链剖分 //将最短路上的区间分成若干条链 使得每一条链上的操作都能用线段树解决 //分轻重 重儿子为某节点的儿子中儿子最多的子节点 重儿子之间的边为重边 重边相连即为重链 #include #include #include #include #include #include using n... ...
分类:
其他好文 时间:
2018-07-08 18:08:43
阅读次数:
160
//LCA //树链剖分 在线 #include #include #include #include #include #include using namespace std; int n,m,root,cnt,head[500001]; int hvyson[500001],fa[500001... ...
分类:
其他好文 时间:
2018-07-08 17:14:59
阅读次数:
174
题目链接: https://www.luogu.org/problemnew/show/P4092 瞎扯 $O(Q \log^3 N)$解法 这道先yy出了一个$O(Q \log^3 N)$,的做法,先树链剖分。 对于加标记操作,找到那个点所在的链,将其$top$标记一下,然后该点到根节点区间和+1 ...
分类:
其他好文 时间:
2018-07-06 23:22:53
阅读次数:
177