60+10+100+0=170
连续2天没写出来简单题了,不过我的字符串是真的弱,趁着这次复习一下
T1
倒序考虑即可
T2
之前模拟赛里有,但是只记得做过不记得做法了
定义一个字符串的本质是\(A_x=x-pre(A_x)\)
\(pre(x)\)指上一次出现\(x\)的位置,如果是第一个字符则是0
两个字符串相等的条件是本质相同,kmp搞一下就可以了
T3
区间转化为前缀(经典转化
要想被开k次方,只需要区间所有质因数个数都可以被k整除,所以我们可以对每个质因数个数%k,分解每个数加入目前前缀和哈希塞桶里统计答案即可
注意到答案状态很多,如果模998244353 or 1e9+7很可能会冲突,自然溢出即可
T4
很巧妙,将两两lcp的贡献每个字符串各分一半,如果共同在某一边则是完整的,如果各属一方则抵消了
两两lcp可以用trie求
标签:pre,7.30,lcp,day7,字符串,质因数 From: https://www.cnblogs.com/Linnyx/p/17591424.html