摘要: 题意: 求最长子串使得它有四个相同的回文串SSSS相连组成 枚举中间x 找右边的中间y满足 y-r[y]<=x y<=x+r[x]/2 用个set维护 注意中间只能是# 阅读全文
posted @ 2017-02-13 23:50 Candy? 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 2565: 最长双回文串 Description 顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。 顺序 阅读全文
posted @ 2017-02-13 23:13 Candy? 阅读(297) 评论(1) 推荐(0) 编辑
摘要: 2084: [Poi2010]Antisymmetry Description 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。现在给出一个长度为N的01字符串,求它有多少个子串是反 阅读全文
posted @ 2017-02-13 21:26 Candy? 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 终于填坑啦......马拉车 课件上说的好短,但是明白了,讲解稍微修改一下抄上行了,比扩展KMP好写多了 求以每个字符为中心的最长回文串的半径。如果要求可以以字符间隙为回文中心,就要在每两个字符之间及两端加入一个’#’,然后再解决。令r[i]为以i为中心的最长回文半径。从左往右依次求r数组。当前要求 阅读全文
posted @ 2017-02-13 20:44 Candy? 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个数字,每一次把它的最后一位拿到最前面,一直那样下去,分别求形成的数字小于,等于和大于原来数的个数。 SAM乱搞失败 当然要先变SS了 然后考虑每个后缀前长为n个字符,把它跟S比较就行了 如果用后缀家族的话复杂度要加上log,本题会TLE吧 求一个串S的每个后缀与另一个串T的最长公共前缀可 阅读全文
posted @ 2017-02-13 19:12 Candy? 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个数字,每一次把它的最后一位拿到最前面,一直那样下去,分别求形成的数字小于,等于和大于原来数的个数。 SAM上就是走n步 相等好好做啊,但是大于小于不好做啊,用类似弦论的思想也不能处理出怎样才是正好n步走到 用LCP就要加一个log呜呜 只能去写扩展KMP了 http://blog.csd 阅读全文
posted @ 2017-02-13 16:21 Candy? 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 题意: 求出n个点的简单(无重边无自环)无向连通图数目.方案数mod 1004535809(479 * 2 ^ 21 + 1)即可. n<=130000 DP求方案 g(n) n个点所有图的方案数 显然2C(n,2)=2n(n-1) f(n) n个点连通图的方案数 然后枚举第一个点所在连通块的点数 阅读全文
posted @ 2017-02-13 14:23 Candy? 阅读(1290) 评论(0) 推荐(0) 编辑