ABC 415 F(线段树维护多种类型信息)
F
之前写过类似的题,用 set + 链表 + 线段树模拟修改,维护每个相同字母段的开头位置和长度。但这种写法实在是太麻烦了,写着写着就想s。后来才发现这个就是 线段树维护区间最长连续段 的板子题,维护方式类似于 线段树维护最大子段和。
考虑线段树需要维护哪些信息:
- 区间最长连续子串长度
- 由于涉及到合并,且只有两个部分字符一样时才能合并,因此除了维护前缀和后缀长度,还需要维护其字符种类(前缀和后缀分别对应左端点和右端点上的字符)
修改函数 与 线段树维护最大子段和 大同小异,具体细节见代码。

浙公网安备 33010602011771号