来源: CE1998 题目大意: 求字符串最小表示。 思路: 字符串复制一遍接在后面,构建SAM,然后每次跑小的转移。 跑n次以后就跑到了最小表示的末尾,用该状态的len值减去n就是最小表示的起始位置。 ...
分类:
其他好文 时间:
2017-09-15 16:47:22
阅读次数:
163
题目大意: 求多个字符串的LCS。 思路: 同SPOJ-LCS2,不过因为SPOJ上数据比较水,当时用错误的写法过掉了,这次用正确的写法重新过了一遍。 拓扑排序按照每个状态的len值,用计数排序实现。 每个状态往上更新时,应该对std::min(s[p].maxlen,s[q].len)取max(每 ...
分类:
其他好文 时间:
2017-09-14 13:31:21
阅读次数:
266
地址:http://www.spoj.com/problems/LCS2/ 题面: LCS2 - Longest Common Substring II no tags no tags A string is finite sequence of characters over a non-empt ...
分类:
其他好文 时间:
2017-09-14 10:34:44
阅读次数:
158
题目大意: 给你一个字符串s,求出不同长度出现次数最多的字串的最大出现次数。 思路: 先对s构造后缀自动机,然后把s放进去匹配,每一个经过的结点表示一种长度的子串,用一个cnt记录能以每个状态表示的子串数量,然后按拓扑序DP。 注意拓扑序并不等同于在SAM中插入的次序,因为用new_q替代q的操作会 ...
分类:
其他好文 时间:
2017-09-14 10:28:14
阅读次数:
147
【BZOJ3769】spoj 8549 BST again Description 求有多少棵大小为n的深度为h的二叉树。(树根深度为0;左右子树有别;答案对1000000007取模) 求有多少棵大小为n的深度为h的二叉树。(树根深度为0;左右子树有别;答案对1000000007取模) Input ...
分类:
其他好文 时间:
2017-09-13 12:01:56
阅读次数:
180
那啥bzoj2818也是一样的,突然想起来好像拿来当周赛的练习题过,用欧拉函数写掉的。 求$(i,j)=prime$对数 \begin{eqnarray*}\sum_{i=1}^{n}\sum_{j=1}^{m}[(i,j)=p]&=&\sum_{p=2}^{min(n,m)}\sum_{i=1}^ ...
分类:
其他好文 时间:
2017-09-12 23:10:20
阅读次数:
215
REPEATS - Repeats no tags no tags A string s is called an (k,l)-repeat if s is obtained by concatenating k>=1 times some seed string t with length l>= ...
分类:
编程语言 时间:
2017-09-12 17:39:48
阅读次数:
218
题目大意: 求两个字符串的LCS。 思路: 对其中一个字符串构建SAM,然后用另一个字符串在里面匹配,按照SAM的边一直往下走,匹配到的连续的字符数就是公共字串的长度。 ...
分类:
其他好文 时间:
2017-09-12 15:55:43
阅读次数:
150
题目链接:http://www.spoj.com/problems/COT2/ 学会了树上莫队,真的是太激动了!参照博客:http://codeforces.com/blog/entry/43230 讲的十分清楚。 ...
分类:
其他好文 时间:
2017-09-11 21:19:53
阅读次数:
290
题目链接:http://www.spoj.com/problems/PON/ 题目大意:判断N是不是素数,N<264-1. 解题思路:需要用到拉宾-米勒素性判定。 (选自数论书籍)合数的拉宾-米勒测试:设n是奇素数,记n-1=2kq,q为奇数。对不被n整除的某个a,如果下述两个条件都成立,则n是合数 ...
分类:
其他好文 时间:
2017-09-11 15:16:01
阅读次数:
162