摘要: 题意:对于每个位置,统计有多少个相同的字串。 分析:按照题目的意思,把fail树画出来就会发现,对于第i个字符:ans[i] = ans[i-1] + (ans[i-1]-ans[i-1]) + cal(i); cal(i)是计算s[1…i-1]所有子串与s[1…i]的最长公共后缀的和。换句话说,根 阅读全文
posted @ 2016-09-08 09:05 DarkTong 阅读(565) 评论(1) 推荐(0) 编辑