随笔分类 - 各种“树”据结构
摘要:算法讨论: 斯坦纳树生成森林。题解再补。 代码:
阅读全文
摘要:算法讨论: 树链剖分。我们考虑安装一个软件就是把其到根上的路径点全部变成1.把一个软件卸载就是把子树变成0. 那么我们用线段树染色来维护。即可。自己还傻逼似的原来传了N个标记。 代码:
阅读全文
摘要:题目1: BZOJ 2716 题目大意:给出N个二维平面上的点,M个操作,分为插入一个新点和询问到一个点最近点的Manhatan距离是多少。 算法讨论: K-D Tree 裸题,有插入操作。 1 #include <cstdio> 2 #include <iostream> 3 #include <
阅读全文
摘要:题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2243 算法讨论: 树链剖分把树放到线段树上。然后线段树的每个节点要维护的东西有左端点的颜色,右端点的颜色,以及是否被改变过颜色,和颜色段数。 向上合并的过程中,要注意如果左孩子的右端点和右孩
阅读全文
摘要:题目1 BZOJ1455 罗马游戏 可并堆 + 并查集维护,是个可并堆的裸题。 题目2 BZOJ 4003 [JLOI2015]攻占城池 带标记的可并堆,注意的一个问题就是在KILL完根结点之后,把没有KILL掉的点再PUSHDOWN一下。否则你会WA死的。 题目3 BZOJ 2809 APIO d
阅读全文
摘要:题目1: NOI2014 魔法森林 LCT维护MST。解题报告见LOFTER 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 #include <algorithm> 5 #include <cstdlib> 6 7
阅读全文
摘要:题目一 : SPOJ 375 Query On a Tree http://www.spoj.com/problems/QTREE/ 给一个树,求a,b路径上最大边权,或者修改a,b边权为t。 1 #include <cstdio> 2 #include <iostream> 3 #include
阅读全文
摘要:题目1:BZOJ 2049 洞穴勘测 1 #include <bits/stdc++.h> 2 #define L(x) c[x][0] 3 #define R(x) c[x][1] 4 5 using namespace std; 6 7 const int oo = 0x3f3f3f3f; 8
阅读全文

浙公网安备 33010602011771号