06 2019 档案
摘要:题目链接: "点我" 题目分析: 树剖。 考虑把边权下放到点上进行染色,连通是0,不连通是1,然后有两种处理思路: 维护区间颜色段总数(参考另一篇题解: "染色" ),每次查询判断整段内是否只有一种颜色,若是,判断是否是全连通(可能是全不连通) 维护区间最大值,若是0说明是全连通,若是1说明有不连通
阅读全文
摘要:题目链接: "点我" 题目分析: 树链剖分 每一次按顺序走到下一个点可以看作沿途的点权+1,注意出发时的点不能+1 代码: // luogu judger enable o2 include define N (600000 + 5) using namespace std; inline int
阅读全文
摘要:题目链接: "传送门" 题目分析: 先考虑单栈排序时有哪些元素不能在一个栈里,再将这些元素之间两两连边,跑二分图染色判断是否能有合法方案 输出使用模拟 我的算法是$O(n^3)$的,不知道为什么就过了(。。),想到优化了再回来补档 代码: include define INF (1000000000
阅读全文
摘要:题目链接: "点我" 题目分析: 树剖。将边权下放到下方点上(为什么要选深度更深的点?一个父亲可能对应多个儿子,但一个儿子只有一个父亲,即可以保证每个点只保存一条边权)成为经典点权+树剖裸题 注意链计算时不能把LCA算进去,其余细节较多,具体见代码。 代码: include define N (10
阅读全文
摘要:题目链接: "传送门" 题目分析: 树链剖分经典题 首先考虑在序列上如何维护染色与色段个数,可以很容易想到每次pushup时将左子和右子的个数合并上来,并判断一下中间是否是同一段 在树上同理,对每个重链建线段树并如上所述维护,注意在查找答案时跳每段重链要记录端点颜色来比较,判一下两端端点颜色是否相同
阅读全文

浙公网安备 33010602011771号