字符串
文章平均质量分 63
HeartFireY
可能是ACMer、JXNU计算机科学协会前会长
展开
-
Codeforces 802I - Fake News(hard) 后缀数组+单调栈
要求求题目不同子串出现次数的平方和。看到本质不同的子串就可以想到SAM+DP或SA+单调栈。这里记录一下SA+单调栈的解决思路。首先对字符串s建立后缀数组,并求出height数组,考虑heightheight[i]=LCP(sa[i],sa[i−1])那么显然当LCP(sa[i],sa[i−1])原创 2022-11-09 21:34:00 · 588 阅读 · 0 评论 -
CF427D. Match & Catch 后缀数组 计数
要求求两个字符串的最短公共子串,且子串仅出现一次。考虑将s和t进行拼接,中间用一个字符隔开,那么就可以对新串求得后缀数组sa[i]表示排名为i的后缀。那么就可以从小到大遍历整个后缀数组,然后求解。首先考虑对于sa[i]和sa[i−1]sa[i]∈[1,n]∧sa[i−1]∈[n+2,n+1+m]sa[i−1]∈[1,n]∧sa[i]∈[n+2,n+1。原创 2022-11-08 16:02:18 · 393 阅读 · 0 评论 -
[二手自用] 后缀数组模板(NlogN)
存个板子。具体原理可以看OIWIKI。原创 2022-11-07 20:17:51 · 143 阅读 · 0 评论 -
CF1163D Mysterious Code ACA+DP
将两个串插入AC自动机,AC自动机带点权,S串带权值1,T串带权值-1,对。树在构建时求树上点权前缀和,然后设。个字符,在ACA上的第。原创 2022-10-27 12:54:58 · 264 阅读 · 0 评论 -
CF633C Spy Syndrome 2 ACA+DP
因为要输出路径,因此记录每个匹配成功的状态的前导然后倒着输出即可。的匹配状态(0或1), 然后对。首先把原串取反一下,就可以用。个正序模式串做匹配了。原创 2022-10-26 12:52:02 · 228 阅读 · 0 评论 -
[SAM模板题] P3975 [TJOI2015] 弦论
表示不同限制下的子串数目,以及每个点的点权。不难发现,我们可以维护一个。求子树大小作为点权,然后。原创 2022-07-28 21:40:04 · 177 阅读 · 0 评论 -
“蔚来杯“2022牛客暑期多校训练营3 H.Hacker SAM+线段树/DP/分治(不带修查区间最大子段和)
给定母串以及若干子串,子串长度固定,每个位置都有一个权值,要求在子串和母串的公共子串中找到一个连续区间,使得连续区间的权值和最大,求最大权值和。每次找到合法区间,直接线段树上查询并更新答案即可。与此同时,需要缩短当前长度。,分别表示当前状态以及匹配长度,一开始。现在我们来描述如何添加一个字符。...原创 2022-07-26 11:22:22 · 275 阅读 · 0 评论 -
[2018EC] Philosophical … Balance SAM+树形DP
给定长度为nnn的字符串sss,要求给定sss的每个后缀s[i:]s[i:]s[i:]分配权值kik_iki(实数),满足0≤ki≤10 \leq k_i \leq 10≤ki≤1,且∑iki=1\sum_i k_i = 1∑iki=1。在此基础上,最大化以下式子的值:mini=1n(∑j=1nkjlcp(s[i:],s[j:]))\min_{i=1}^n \left( \sum_{j=1}^n k_j {\rm {lcp}} (s[i:],s[j:]) \right)i=1minn(j=原创 2022-07-14 09:54:43 · 202 阅读 · 0 评论 -
2021“MINIEYE杯”中国大学生算法设计超级联赛(7)Yiwen with Sqc 字符串
2021“MINIEYE杯”中国大学生算法设计超级联赛(7)Yiwen with Sqc 字符串???? | Powered By HeartFireY Problem Analysis题目大意:定义一个字符串的权值为字符串中不同字符出现次数的平方和,求给定字符串所有子串的贡献值之和。数据范围猛如虎,暴力枚举不可取。首先我们明确:某个字符串而言,每个字母出现次数平方和对答案的贡献是相互独立的,因为我们对于每个字母统计其出现的次数和出现的位置,单独计算其贡献即可。那么我们来考虑对于单个字母,如何计原创 2021-08-11 21:05:39 · 336 阅读 · 0 评论