洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace

本文介绍了一种通过将输入字符串转化为环形结构来简化问题的方法,这种方法可以有效地解决字符串匹配问题,尤其是在需要考虑字符串首尾相连的情况。通过双指针技术进行滑动窗口匹配,能够找到最长的有效子串。
部署运行你感兴趣的模型镜像

有环的题可以两边接起来,这样会省事很多

#include<bits/stdc++.h>
using namespace std;
#define Max (int)(1e5+10)
char c[1200];
int main() {
	int n,num=0,t=0,tt;
	bool flag=0;
	scanf("%d",&n);
	for(int i=1; i<=n; i++) {
		cin>>c[i];
		c[n+i]=c[i];
		c[2*n+i]=c[i];
	}
   
	char record;
	for(int i=n+2; i<=2*n; i++) {
		num=0;
		int l=i-1,r=i;
		record=c[l];
		while(c[l]=='w'&&l>0)
			num++,l--;
		if(c[l]!='w'&&flag)
			record=c[l];	
		while((c[l]=='w'||c[l]==record)&&l>0)
			num++,l--;
	
		
		record=c[r];	
		while(c[r]=='w'&&r<=3*n)
			num++,r++;
				
		if(c[r]!='w')
			record=c[r];
		while((c[r]=='w'||c[r]==record)&&r<=3*n)
			num++,r++;
			
		if(num>t)
		{
		  t=num;
		 
		}	
	}
	if(t>n) t=n;
	
	printf("%d\n",t);
}








多谢瑞大师提点~

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值