摘要: 对于解决树上k距离、与路径和最值等路径问题的有力工具。虽然dsu on tree也可解决大部分点分治题目,但点分治思路相对固定,思维难度较低。缺点是在与其他数据结构结合时代码量极大,同时并不好调,需要注意细节并且写熟练。 点分治作为一种分治算法,与序列分治有异曲同工之妙。序列分治是取l与r之间的mi 阅读全文
posted @ 2024-09-08 00:29 all_for_god 阅读(24) 评论(0) 推荐(0)
摘要: 总的来说,树上合并类问题主要用于解决树上统计种类数、最大值一类的问题。 最朴素的树上合并思路为分别统计每个子树的答案合并再加上父亲节点本身的答案。一般采用启发式合并,将小子树合并进大子树中 如 树上数颜色 题意: 给定一颗有根树,每个节点有颜色,求每棵子树的颜色种类数 简要题解: 非常经典,颜色数统 阅读全文
posted @ 2024-09-08 00:28 all_for_god 阅读(13) 评论(0) 推荐(0)
摘要: 后缀数组 P3809 【模板】后缀排序 定义: 对给定字符串的所有后缀排序后得到的sa、rk数组 sa[i]->排名为i的后缀的位置 rk[i]->位置为i的后缀的排名 容易发现,sa与rk互为逆,如:sa[rk[i]]=i,rk[sa[i]]=i 应用 应用主要体现在用后缀数组求lcp与heigh 阅读全文
posted @ 2024-09-08 00:19 all_for_god 阅读(33) 评论(0) 推荐(1)