bzoj 3620: 似乎在梦中见过的样子
Description
Input
Output
Sample Input
aaaaa
1
【样例输入 2】
abcabcabc
2
Sample Output
6
【样例输出 2】
8
HINT
对于 100%的数据:n<=15000 , k<=100,且字符集为所有小写字母
Source
2014湖北省队互测week2
首先KMP是前缀等于后缀,所以它并不能很好的解决子串问题;
但是这个题的正解是n^2的,所以我们可以枚举起点位置i,然后对以起点位置开始到结尾的串重构一个nxt数组,
然后对于起点i,到终点j,就可以通过kmp前缀等于后缀的方法check是否合法了,然后就是跟动物园类似的做法,然后判断一下g>=k即可;
然而我这个题目因为没有想到重构nxt做了好久。。。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define RG register
using namespace std;
const int N=15050;
int nxt[N],cnt[N],len,k,ans;
char s[N],a[N];
void work(int x){int len2=0;memset(nxt,0,sizeof(nxt));for(int i=x;i<=len;i++) a[++len2]=s[i];int j=0;for(int i=2;i<=len2;i++){while(j&&a[j+1]!=a[i]) j=nxt[j];if(a[j+1]==a[i]) j++;nxt[i]=j;}j=0;for(int i=2;i<=len2;i++){while(j&&a[j+1]!=a[i]) j=nxt[j];if(a[j+1]==a[i]) j++;while(2*j+1>i&&j) j=nxt[j];if(j>=k) ans++;}
}
int main(){scanf("%s",s+1);len=strlen(s+1);scanf("%d",&k);for(int i=1;i<=len;i++) work(i);printf("%d",ans);
}
转载于:https://www.cnblogs.com/qt666/p/7163395.html
bzoj 3620: 似乎在梦中见过的样子相关推荐
- BZOJ 3620 似乎在梦中见过的样子 KMP+暴力
题目大意:给定一个字符串,求这个字符串有多少个子串满足这个子串可以拆分成ABA的形式,其中|A|>=k,|B|>=1 梦の中で逢った.ような-... n<=15000 显然是直接给你 ...
- BZOJ[3620]似乎在梦中见过的样子 KMP
传送门ber~ 这题-不是和BZOJ[3670]那题一样吗? 对每一个位置进行两遍KMP,第一遍求出nex数组后再进行一遍以统计合法答案 比那题多个判断条件-其余一模一样 代码如下: #include ...
- bzoj 3620: 似乎在梦中见过的样子 kmp算法+暴力
题意 "Madoka,不要相信 QB!"伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约. 这是 Modoka 的一个噩梦,也同时是上个轮回中所发生的事.为了 ...
- bzoj 3620: 似乎在梦中见过的样子 kmp暴力
这道题目感觉上好像是可以用SA过掉的..但是看一下N15000然后Statue里面一个个都6000+ms,翻了一下题解发现是kmp暴力. 打了一半发现不会然后回去看题目,发现位置相同但是结构不懂的子串 ...
- 【BZOJ 3620】 3620: 似乎在梦中见过的样子 (KMP)
3620: 似乎在梦中见过的样子 Time Limit: 15 Sec Memory Limit: 128 MB Submit: 755 Solved: 445 Description " ...
- 【kmp】似乎在梦中见过的样子
参考博客: BZOJ 3620: 似乎在梦中见过的样子 [KMP]似乎在梦中见过的样子 题目描述 「Madoka,不要相信QB!」伴随着Homura的失望地喊叫,Madoka与QB签订了契约. 这是M ...
- 第2部分 字符串算法(提高篇)--第2章 KMP算法1469:似乎在梦中见过的样子
1469:似乎在梦中见过的样子 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 476 通过数: 159 [题目描述] 原题来自:2014 年湖北省队互测 Week2 「Madok ...
- 似乎在梦中见过的样子 (KMP)
# 10047. 「一本通 2.2 练习 3」似乎在梦中见过的样子 [题目描述] 「Madoka,不要相信 QB!」伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约. 这是 Mo ...
- 【bzoj3620】【似乎在梦中见过的样子】【kmp】
Description "Madoka,不要相信 QB!"伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约. 这是 Modoka 的一个噩梦,也同时是上个轮回 ...
最新文章
- java foreach 原理_一不小心就让Java开发者踩坑的failfast是个什么鬼?
- 深度 | 学习如何学习的算法:简述元学习研究方向现状
- 字符设备驱动笔记(一)
- 怎么查看linux文件夹下有多少个文件(mac同样)
- ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock
- Jenkins X基本概念:Jenkins K8S helm Draft gitops
- ABAP BSP的工具类CL_BSP_UTILITY
- latex学习篇【一】论文中的图片技巧QA
- 计算机组成原理综合题,2013计算机组成原理复习题.doc
- delphi 中assert
- Xcode9安装插件,xcode9安装使用Alcatraz
- 规范化理论:无损分解的测试算法
- Racket编程指南——24 命令行工具和你的编辑器选择
- 一个游戏出中文版需要通过什么审核?(转自知乎)
- 论文阅读 (54):DeepFool: A Simple and Accurate Method to Fool Deep Neural Networks
- azul zing_微软和Azul将OpenJDK提升到Azure云中
- 2020.11.09-2020.11.15工作周报
- arcgis中的标注和注记
- 有什么好用又简约的便签值得推荐?
- stinger 小型机器人_铁甲大百科——史上最全格斗机器人类型解析,哪类机器人最酷炫?...
热门文章
- 百度实习两个月小结~
- 十年 (2002.6.18)--黑色的2002年世界杯,足球之耻辱
- PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM?
- SQLite查询记录总数
- mysql from 嵌套查询,MySQL嵌套查询实例详解
- matlab plotroc 画roc曲线
- CBInsights 2019金融科技趋势报告:东南亚、拉美成新宠,IPO脚步恐放缓(附全文下载)...
- 中国移动光猫怎么进网页服务器,中国移动光猫设置方法(192.168.1.1进不了光猫)...
- [转]git图解(3):分支操作
- ML / SML 常见错误解决办法