http://codeforces.com/blog/entry/3107

// s[0, ..., n-1], z[0] = 0
// z[i] is the length of the longest substring starting from s[i] which is also a prefix of s
// O(n), R increases...
int L = , R = ;
for (int i = ; i < n; i++) {
if (i > R) {
L = R = i;
while (R < n && s[R-L] == s[R]) R++;
z[i] = R-L; R--;
} else {
int k = i-L;
if (z[k] < R-i+) z[i] = z[k];
else {
L = i;
while (R < n && s[R-L] == s[R]) R++;
z[i] = R-L; R--;
}
}
}

最新文章

  1. JSBinding / Plugins &amp; Build Mozjswrap Library
  2. 【python】numpy array特殊数据统一处理
  3. Disable SELinux CentOS 7
  4. 319. Bulb Switcher——本质:迭代观察,然后找规律
  5. spring 异常管理机制
  6. POJ 3186Treats for the Cows (区间DP)
  7. FeatureClass Copy
  8. 父元素高度为auto,子元素使用top:-50%没有效果的问题
  9. PHP新手之学习类与对象(1)
  10. Django 分类标签查找
  11. 菜鸟玩云计算之十二:KVM虚拟机更改大小
  12. Nginx HTTP变量原理
  13. 3ci
  14. php回话控制 cookie
  15. Drying [POJ3104] [二分答案]
  16. app埋点
  17. 【模板】HDU 1541 树状数组
  18. [转帖] 外部访问k8s 里面pod的方式方法
  19. OFbiz--简单介绍
  20. Tornado中gen.coroutine详解

热门文章

  1. jmeter发送http请求(初学者)
  2. 关于matlab向文件写入数据的方法——留着备用
  3. JDK 和 JRE 有什么区别
  4. Python 利用 BeautifulSoup 爬取网站获取新闻流
  5. 单一docker主机网络
  6. 关于Maven的一点理解
  7. maven摘除jar包中配置文件
  8. basename命令详解
  9. JDK动态代理的简单理解
  10. Thunder——Final发布