草庐IT

P8571 [JRKSJ R6] Dedicatus545

又是一道数据结构组合题,起码不是套娃题(指树套树套...)首先,询问一个串中多个串的出现次数之类,肯定是ACAM。询问就是求所有询问串的末尾节点的子树包含的匹配串节点的最大值。发现有\(\sum|S|\)限制,纯纯的根号分治。\(|S|>B\),\(O(n)\)算一遍各串在询问串里的出现次数,线段树维护。只用考虑\(|S|\leqB\)。Solution1插入询问串时,在dfn序上把它的子树都分进它这一组,如果询问串末尾节点本来就属于一组了,就不标记子树。回答询问时就是把匹配串上的点拿出来,根据之前的分组把点扔到桶里,最后对每个桶取max。第二部分修改\(n\log{n}\)次,询问\(n\s

P8571 [JRKSJ R6] Dedicatus545

又是一道数据结构组合题,起码不是套娃题(指树套树套...)首先,询问一个串中多个串的出现次数之类,肯定是ACAM。询问就是求所有询问串的末尾节点的子树包含的匹配串节点的最大值。发现有\(\sum|S|\)限制,纯纯的根号分治。\(|S|>B\),\(O(n)\)算一遍各串在询问串里的出现次数,线段树维护。只用考虑\(|S|\leqB\)。Solution1插入询问串时,在dfn序上把它的子树都分进它这一组,如果询问串末尾节点本来就属于一组了,就不标记子树。回答询问时就是把匹配串上的点拿出来,根据之前的分组把点扔到桶里,最后对每个桶取max。第二部分修改\(n\log{n}\)次,询问\(n\s