【 bzoj 1355 】 [Baltic2009]Radio Transmission - KMP
来源:互联网 发布:macbook安装破解软件 编辑:程序博客网 时间:2024/05/26 19:19
考虑一个串重复出现多次并在最后超出这个字符串的话,肯定存在一个最长后缀等于最长前缀且后面剩下来的一截是那个重复串。
KMP一下没了。
#include <bits/stdc++.h>#define rep(i,a,b) for (int i = a , _ = b ; i <= _ ; i ++)#define per(i,a,b) for (int i = a , _ = b ; i >= _ ; i --)inline int rd() { char c = getchar(); while (!isdigit(c)) c = getchar() ; int x = c - '0'; while (isdigit(c = getchar())) x = x * 10 + c - '0'; return x;}const int maxn = 1000007;int n , nxt[maxn];char st[maxn];void input() { n = rd(); scanf("%s" , st + 1);}void solve() { int k = 0; rep (i , 2 , n) { while (k > 0 && st[k + 1] != st[i]) k = nxt[k]; if (st[k + 1] == st[i]) k = k + 1; nxt[i] = k; } printf("%d\n" , n - nxt[n]);}int main() { #ifndef ONLINE_JUDGE freopen("data.txt" , "r" , stdin); #endif input(); solve(); return 0;}
0 0
- BZOJ 1355 Baltic2009 Radio Transmission KMP算法
- BZOJ 1355 [Baltic2009]Radio Transmission Hash/KMP
- 【 bzoj 1355 】 [Baltic2009]Radio Transmission - KMP
- BZOJ 1355 [Baltic2009]Radio Transmission KMP
- bzoj 1355: [Baltic2009]Radio Transmission KMP算法
- 【bzoj 1355】 [Baltic2009]Radio Transmission(kmp)
- 【bzoj 1355】[Baltic2009]Radio Transmission(kmp)
- 【BZOJ 1355】[Baltic2009]Radio Transmission kmp
- Bzoj 1355: [Baltic2009]Radio Transmission(kmp)
- BZOJ 1355: [Baltic2009]Radio Transmission KMP
- 1355: [Baltic2009]Radio Transmission|Kmp
- 【BZOJ 1355】 [Baltic2009]Radio Transmission
- bzoj 1355: [Baltic2009]Radio Transmission
- BZOJ 1355 [Baltic2009]Radio Transmission
- 【Baltic2009】bzoj 1355 Radio Transmission
- BZOJ 1355 [Baltic2009]Radio Transmission
- bzoj 1355: [Baltic2009]Radio Transmission
- 【BZOJ 1355】[Baltic2009]Radio Transmission
- java 大端和小端转换
- c++11 chrono应用 - 一个超时timer的实现
- 入门GitHub
- HLS/MPEG-DASH/RTMP with nginx
- 索引查询和批处理查询
- 【 bzoj 1355 】 [Baltic2009]Radio Transmission - KMP
- iOS - 内存管理
- TairResult 缓存 计数器的使用
- Ant是什么东西(初级)
- 如何成为一名入门级 iOS 开发者
- C语言开发人员很实用的工具
- Android关于小米相册悬浮标题栏、冻结标题栏的实现方式(嵌套型RecycleView)
- Java使用UrlConnection下载图片
- Loader.asm大体思路