bzoj 1511: [POI2006]OKR-Periods of Words【kmp】
n-ne[n]是n的最长循环节长度,其实就是n-最短前缀=后缀长度
然后我们要求最短循环节,其实就是ne一直往前跳,跳到不能跳为止,这时的n-ne[n]就是n的最短循环节长度
#include<iostream>
#include<cstdio>
using namespace std;
const int N=1000005;
int n,ne[N];
long long ans;
char s[N];
void gtne()
{
    int i=0,j=-1;
    ne[0]=-1;
    while(i<n)
    {
        if(s[i]==s[j]||j==-1)
			ne[++i]=++j;
        else
			j=ne[j];
    }
}
int main()
{
	scanf("%d%s",&n,s);
    gtne();
    for(int i=1;i<=n;i++)
		if(ne[i])
			while(ne[ne[i]])
				ne[i]=ne[ne[i]];
    for(int i=1;i<=n;i++)
		if(ne[i])
			ans+=i-ne[i];
	printf("%lld\n",ans);
    return 0;
}
												
											bzoj 1511: [POI2006]OKR-Periods of Words【kmp】的更多相关文章
- 【kmp】似乎在梦中见过的样子
		
参考博客: BZOJ 3620: 似乎在梦中见过的样子 [KMP]似乎在梦中见过的样子 题目描述 「Madoka,不要相信QB!」伴随着Homura的失望地喊叫,Madoka与QB签订了契约. 这是M ...
 - 【KMP】【最小表示法】NCPC 2014 H clock pictures
		
题目链接: http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1794 题目大意: 两个无刻度的钟面,每个上面有N根针(N<=200000),每个 ...
 - 【动态规划】【KMP】HDU 5763 Another Meaning
		
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5763 题目大意: T组数据,给两个字符串s1,s2(len<=100000),s2可以被解读成 ...
 - HDOJ 2203 亲和串 【KMP】
		
HDOJ 2203 亲和串 [KMP] Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
 - 【KMP】Censoring
		
[KMP]Censoring 题目描述 Farmer John has purchased a subscription to Good Hooveskeeping magazine for his ...
 - 【KMP】OKR-Periods of Words
		
[KMP]OKR-Periods of Words 题目描述 串是有限个小写字符的序列,特别的,一个空序列也可以是一个串.一个串P是串A的前缀,当且仅当存在串B,使得A=PB.如果P≠A并且P不是一个 ...
 - 【KMP】Radio Transmission
		
问题 L: [KMP]Radio Transmission 题目描述 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. 输入 第一行给出字 ...
 - 【POJ2752】【KMP】Seek the Name, Seek the Fame
		
Description The little cat is so famous, that many couples tramp over hill and dale to Byteland, and ...
 - 【POJ2406】【KMP】Power Strings
		
Description Given two strings a and b we define a*b to be their concatenation. For example, if a = & ...
 - 【POJ3461】【KMP】Oulipo
		
Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, without t ...
 
随机推荐
- IP聚合  ---百度之星(与运算)
			
Problem Description 当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下,有多少个网络地址.网 ...
 - Spring4MVC 请求参数映射和Content-type
			
目录 前言 不使用注解(不传则为null) 基本数据类型和日期类型 自定义类型POJO @PathVariable注解 @RequestParam 注解 @RequestBody注解 复杂对象Arra ...
 - maven生命周期和依赖的范围
			
转载:http://blog.csdn.net/J080624/article/details/54692444 什么是依赖? 当 A.jar 包用到了 B.jar 包时,A就对B产生了依赖: 在项目 ...
 - Linux下的lds链接脚本简介(一)
			
转载自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 一. 概论 每一个链接过程都由链接脚本(linker ...
 - Null value was assigned to a property of primitive type setter of原因及解决
			
出现Null value was assigned to a property of primitive type setter of错误是由于类型不匹配,将字段的属性由hibernate的int类型 ...
 - Android网络编程之使用HTTP訪问网络资源
			
使用HTTP訪问网络资源 前面介绍了 URLConnection己经能够很方便地与指定网站交换信息,URLConnection另一个子类:HttpURLConnection,HttpURLConnec ...
 - Idea SpringMVC+Spring+MyBatis+Maven整合
			
创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetype,然后选中下方列表中的webapp,然后点击Next 在GroupId和Art ...
 - 深入源代码解析Android中的Handler,Message,MessageQueue,Looper
			
本文主要是对Handler和消息循环的实现原理进行源代码分析.假设不熟悉Handler能够參见博文< Android中Handler的使用>,里面对Android为何以引入Handler机 ...
 - C语言细节笔记1
			
/******************************************************************************* ——笔记 1. 函数申明的书写. 可以 ...
 - 两个喜欢的"新"C#语法
			
现在C#比较新的语法,我都十分喜欢. 比如属性可设默认值: public string Name { get; set; } = "张三"; 还有一个就是拼接字符串. 以往,通常都 ...