首页 > 其他分享 >11

11

时间:2024-11-28 16:13:54浏览次数:4  
标签:11 pre int cin ans nt define

kmp

点击查看代码
#include<bits/stdc++.h>
#define ll long long
#define fir first
#define sec second
#define pb push_back
#define pii pair<int,int>
#define mkp make_pair
#define db double
#define ls (x<<1)
#define rs (x<<1|1)
using namespace std;
void read(int &x){
	char ch;int f=1;
	while(!isdigit(ch=getchar())) if(ch=='-') f=-1;
	x=ch-'0';
	while(isdigit(ch=getchar())) x=(x<<1)+(x<<3)+ch-'0';
	x*=f;
}
const int N=1e6+5;
char a[N],b[N];
int n,m;
int nt[N];
vector<int> ans;
void pre(){
	int j=0;
	for(int i=2;i<=m;i++){
		while(j>0 && b[j+1]!=b[i]) j=nt[j];
		if(b[j+1]==b[i]) j++;
		nt[i]=j;
	}
}
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>(a+1)>>(b+1);
	n=strlen(a+1);m=strlen(b+1);
	pre();
	int j=0;
	for(int i=1;i<=n;i++){
		while(j>0 && b[j+1]!=a[i]) j=nt[j];
		if(b[j+1]==a[i]) j++;
		if(j==m) ans.pb(i-m+1),j=nt[j]; 
	}
	return 0;
}

标签:11,pre,int,cin,ans,nt,define
From: https://www.cnblogs.com/pointfish/p/18574451

相关文章

  • NOIP 模拟赛:2024-11-25
    T1:简单贪心。T2:有的\(n\)间屋子被\(n-1\)条双向路径连通,构成树结构。其中第\(i\)个屋子中住着一个种族\(c_i\)的狼人。树的一个连通子图中,若其中一个种族的狼人超过了其他种族的总和,它们可以在该连通子图中进行支配。具体而言,记\(a_i\)为种族为\(i\)的狼人在连通子图中的个数......
  • 2024.11.28 test
    此后再无NOIP模拟赛。A给一个包含\(n\)个布尔变量的后缀逻辑表达式,给定这\(n\)个变量的初值,请你求出:若想改变表达式的值,最少需要改变(取反)其中多少个变量的值。树形dp,只需要设\(f_u\)表示\(u\)子树的答案。B给定一个排列,判断是否存在等差子序列。考虑枚举中间的那......
  • Android11修改摄像头前后置方法,触觉智能RK3568开发板演示
    本文介绍在Android11系统下,修改摄像头前后置属性的方法。使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!内核修改配置修改相关内核设备树文件以下配置:ov5648:ov56......
  • NOIP 模拟赛:2024-11-23
    假算法轻取96pts。T1:给定一个\(n\)个结点\(m\)条边的简单无向图,结点编号\(1\simn\)。你需要构造一个结点编号的排列\(v_1,v_2,\cdots,v_n\),满足\(v_1=1\);对\(1<i<n\),至多一个\(i\)满足要求:点对\((v_i,v_{i+1})\)和\((v_i,v_{i-1})\)中,一对之间有边直接相连,另一对没有。......
  • 11.28 CW 模拟赛 赛时记录
    看题有外校的一起考,那我爆个\(0\)\(\rm{A}\)至少不能是简单题考虑找规律一类的东西,看能不能推出来?\(\rm{B}\)啊?也是需要脑子,多半不会做,应该也是规律题\(\rm{C}\)至少暴力可以打,争取达到高档暴力\(\rm{D}\)能打到这在想吧完了嘛时间分配:\(1\rm{h}+......
  • NOIP 模拟赛:2024-11-22
    T1:当需要对数组重标号时,想清楚哪里要用原编号,哪里要用新编号。T2:\(n\)个人参加THUSC,其中每个人都参加了算法场和工程场两场比赛,第\(i\)个人的得分分别是\(a_i,b_i\)。你希望给所有人进行排名,规则如下:先选定两个正实数\(x,y\),计算每一个人的综合得分为\(xa_i+yb_i\);按照综......
  • 刷题分享11_28
    刷题分享1.(力扣15)这是一道求三数之和的问题,如果使用哈希表的方法了话,十分难实现去重的操作,所以我们可以考虑将问题拆分,即先用一个for循环遍历数组,在每一层遍历内部(相当于确定下来第一个数),使用双指针的方法,这样利用指针++或--的操作,可以很方便的实现去重的操作。classSoluti......
  • Win11又双叒叕崩溃,受灾区为Intel Z890用户
    不得不承认,这年头的Win11用户是越来越难了。漏洞、功能缺失、兼容性等多年祖传问题可谓是随时随地随便啥装备都能上演。上周奇仔刚遭遇了华硕X515KA升级Win1124H2蓝屏死机事件,这两天同事又双叒碰上了。这次是跟IntelZ890主板不兼容~社区里也有很多Win11用户反馈,称在升级......
  • 2024web漏洞扫描神器xray安装及使用_2024-11-28
    一、功能开源的Web漏洞扫描工具,支持以下漏洞XSS漏洞检测(key:xss)SQL注入检测(key:sqldet)命令/代码注入检测(key:cmd-injection)目录枚举(key:dirscan)路径穿越检测(key:path-traversal)XML实体注入检测(key:xxe)文件上传检测(key:upload)弱口令检测(......
  • 2024-11-28 闲话
    给急性肠胃炎大爹跪了!周二晚上发现自己体温有点高,而且还窜稀几次。因为种种不适,就没去吃完饭,也没有体锻。晚上九点四十同学说你这么不舒服,应该是没吃晚饭导致的,于是我先把车昱辉留着当周三早餐的面包吃了,然后又吃了燕麦。学校暖气一坨大便,这时候没想起来开空调……因为越来越难......