P8195 [传智杯 #4 决赛] 小智的疑惑 —KMP
输入输出样例
输入 #1
welcometochuanzhicupchuanzhi
输出 #1
2
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
constexpr int N = 5e5, inf = 0x3f3f3f3f;
char p[N], s[N];
int ne[N];
// s[]是长文本,p[]是模式串,
int ans = 0;
//下标由1开始读入;
void kmp(int n, int m) // n为长,m为短;(代表的是长度)
{// 求ne数组for (int i = 2, j = 0; i <= m; i++){while (j && p[i] != p[j + 1])j = ne[j];if (p[i] == p[j + 1])j++;ne[i] = j;}// 匹配for (int i = 1, j = 0; i <= n; i++){while (j && s[i] != p[j + 1])j = ne[j];if (s[i] == p[j + 1])j++;if (j == m){j = ne[j];// 匹配成功后的逻辑ans++;}}
}
void solve()
{cin >> s + 1;char arr[] = "chuanzhi";for (int i = 0; i < 9; i++){p[i + 1] = arr[i];}int cnt = 0;for (int i = 1; s[i]; i++){cnt++;}kmp(cnt, 8);cout << ans;
}signed main()
{ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);solve();return 0;
}
P8195 [传智杯 #4 决赛] 小智的疑惑 —KMP相关推荐
- P8195 [传智杯 #4 决赛] 小智的疑惑
传智专修学院给了小智一个仅包含小写字母的字符串 ss,他想知道,里面出现了多少次子串 chuanzhi 呢. 我们称一个字符串 t是 s 的子串,当且仅当将 s 的开头若干个(可以为 0 个)连续字符 ...
- P1776 宝物筛选+P1555 尴尬的数字+P8845 [传智杯 #4 初赛] 小卡和质数
P1776 宝物筛选 题目描述 终于,破解了千年的难题.小 FF 找到了王室的宝物室,里面堆满了无数价值连城的宝物. 这下小 FF 可发财了,嘎嘎.但是这里的宝物实在是太多了,小 FF 的采集车似乎装 ...
- P8198 [传智杯 #4 决赛] 背单词的小智 二分答案+前缀和
题面: 题目链接 思路: 太久没做题了,手有点生,题目的意思是求最大值的最小值 所以考虑二分答案 代码: #include <bits/stdc++.h> using namespace ...
- P8196 [传智杯 #4 决赛] 三元组
给定一个长度为 n 的数列 a,对于一个有序整数三元组 (i,j,k),若其满足 1≤i≤j≤k≤n 并且ai+aj=ak,则我们称这个三元组是「传智的」. 现在请你计算,有多少有序整数三元组是 ...
- [传智杯 #4 初赛] 小卡和质数(C++,数学)
题目背景 小卡最近迷上了质数,所以他想到了一个和质数有关的问题来考考你. 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数. 题目描述 小卡有 T ( 1 ≤ T ≤ 1 0 5 ...
- P8837 [传智杯 #3 决赛] 商店
有 n 名同学去逛商店,店里有 m 个物品,第 i 人有 wi 块钱,第 i 个物品价格 ci 元. 每个人至多买一个物品,每个物品只能被买一次,问最多有多少人能买到物品. 对于所有数据,n,m≤ ...
- 洛谷随机刷题之传智杯#3
[传智杯 #3 练习赛] 直角三角形 题目描述 一个直角三角形的两个直角边是 a , b ( a ≤ b ) a,b(a\le b) a,b(a≤b),其斜边是 c c c,且 a , b , c a ...
- 对于小智淘宝店的地址有什么价值?
lol小智征集笑话活动进行中 送小智淘宝店小智亲手签名战衣 最近很多的粉丝都说我讲的笑话一点都不好笑了,说实话,我每天都在看糗事百科等很多的笑话网站!真心的是因为能力有限,不过我都是很努力的为大家提供 ...
- 开启小智桌面后桌面PDF图标不显示怎么办?
我们在使用电脑的时候经常会将一些常用的文件放置在电脑桌面上,而不少小伙伴为了桌面看起来整洁就会使用小智桌面,但是不少用户发现在使用了之后,桌面的PDF文件图标不显示,下面小编就带着大家一起解决这个问题 ...
- 皮卡丘为什么不进化_宝可梦:为何23年来小智的皮卡丘无法进化?怎样分辨皮卡丘性别?...
精灵宝可梦是一部非常古老的IP,它的第一版游戏发售于1996年,第一部动画放送于1997年,在那个年代,不少漫迷都还没有出生吧! 说到宝可梦,大家脑海中出现的第一个精灵形象很可能是皮卡丘,毕竟它是知名 ...
最新文章
- python文件传输模块ftplib模块的使用
- EXTJS学习系列提高篇:第二十五篇(转载)作者殷良胜,ext2.2打造全新功能grid系列--右键菜单篇...
- MUI多端发布开发指南(终于把MUI的使用场景说清楚了)
- [vue] 如果将axios异步请求同步化处理?
- 二阶振荡环节的谐振频率_困惑了很久的串联/并联谐振电路详解
- virtual析构函数(作用)
- SQLi LABS Less-13 报错注入+布尔盲注
- 软件保护技术--- 常见保护技巧
- 5G无线技术基础自学系列 | 网络架构
- 锁仓怎么解_期货锁仓后如何解锁?
- supervision
- openCV简易人脸考勤
- steam进社区显示服务器错误,Steam错误代码-118怎么办 社区打不开解决方法
- python自动写作ai_论文自动写作之自动添加参考文献
- Spyder 连接远程服务器(spyder-kernels)
- CocosCreator发布微信子域
- 项目计划书的编写说明
- 使用pyinstaller对python程序打包
- 信奥赛培训教材c语言,青少年信息学奥林匹克竞赛培训教材
- html asp php mysql模拟器,一起了解下:Apache+php+mysql的配置