随笔分类 -  数据结构--树链剖分

摘要: 阅读全文
posted @ 2020-08-07 01:11 _Ackerman 阅读(281) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/P2486 思路: 首先我们看到颜色的个数,然后又是一个树上的操作很自然而然的就会想到树链剖分 但是会遇到一个问题,那就是题目并不是直接给你染色颜色的个数的,所以我们先要预处理得到颜色个数 首先我们分情况进行讨论: 第一种情况: 阅读全文
posted @ 2019-09-06 09:31 _Ackerman 阅读(318) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/P4092 感觉这个题目和前面做的黑白染色的很像,思路都是差不多的吧。 阅读全文
posted @ 2019-09-05 21:31 _Ackerman 阅读(233) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/P4116 题意: 修改颜色的时候用异或,这里线段树维护的是此区间内第一个出现的黑点。因为是单点修改,所以标记下传啥的都不需要~~直接上区间最值线段树。 如果白点的话就赋值INF,防止参与查询。 树剖后用线段树来维护,维护最小值, 阅读全文
posted @ 2019-09-05 21:04 _Ackerman 阅读(291) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/P3178 一定要用LL !!!!! 阅读全文
posted @ 2019-09-04 16:08 _Ackerman 阅读(273) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/P4315 思路: 我们发现,一个点最多只有一个父亲结点,那么我们就可以考虑把这个点与其父亲结点之间边的边权转化为这个点的点权!那,之后,就变成了我们一开始说的树链剖分裸题了呀!还有一个非常重要的细节就是树链剖分查询和修改路径的时 阅读全文
posted @ 2019-09-04 09:30 _Ackerman 阅读(329) 评论(0) 推荐(0)
摘要:1 #include <stdio.h> 2 #include <cstring> 3 #include <iostream> 4 #include <string> 5 #include <algorithm> 6 #include <queue> 7 #include <vector> 8 #include <math.h> 9 #include <map> 10 11 #define LL 阅读全文
posted @ 2019-09-04 09:24 _Ackerman 阅读(263) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/P2590 注意这题有负权。 (不然你就只能跑10分!) 阅读全文
posted @ 2019-09-03 16:17 _Ackerman 阅读(218) 评论(0) 推荐(0)
摘要:题目链接:https://www.luogu.org/problem/P3833 阅读全文
posted @ 2019-09-02 21:28 _Ackerman 阅读(251) 评论(0) 推荐(0)