8.字符串

字符串

开题顺序: HADBEMK

A luogu P3501 [POI2010]ANT-Antisymmetry

B luogu P4555 [国家集训队]最长双回文串

C luogu P6114 【模板】Lyndon 分解

D BZOJ2176 Strange string

  • 最小表示法板子。

  • 因为字符值域 [33,254] ,所以需要 unsigned char 代替 char

    点击查看代码
    unsigned char s[20000010];
    int main()
    {
    	int n,i,l,r,len;
    	cin>>n;
    	for(i=1;i<=n;i++)
    	{
    		cin>>s[i];
    		s[n+i]=s[i];
    	}
    	l=1;
    	r=2;
    	while(l<=n&&r<=n)
    	{
    		len=0;
    		while(len<=n-1&&s[l+len]==s[r+len])
    		{
    			len++;
    		}
    		if(len==n)
    		{
    			break;
    		}
    		else
    		{
    			if(s[l+len]>s[r+len])
    			{
    				l+=len+1;
    				l+=(l==r);
    			}
    			else
    			{
    				r+=len+1;
    				r+=(l==r);
    			}
    		}
    	}
    	for(i=min(l,r);i<=n;i++)
    	{
    		cout<<s[i];
    	}
    	for(i=1;i<=min(l,r)-1;i++)
    	{
    		cout<<s[i];
    	}
    	return 0;
    }
    

E CF471D MUH and Cube Walls

F CF494B Obsessive String

G CF432D Prefixes and Suffixes

  • 第一问显然是 LibreOJ 10036. 「一本通 2.1 练习 2」Seek the Name, Seek the Fame ,直接反着跳 next 即可。

  • fi[1,i] 在原串中的出现次数,则有 {fifi+1fnxtifnxti+fi ,初始时 f1n=0

    点击查看代码
    int nxt[100010],f[100010];
    char s[100010];
    vector<int>ans;
    int main()
    {
    // #define Issac
    #ifdef Issac
    	freopen("in.in","r",stdin);
    	freopen("out.out","w",stdout);
    #endif
    	int n,i,j;
    	scanf("%s",s+1);
    	n=strlen(s+1);
    	for(i=2,nxt[1]=j=0;i<=n;i++)
    	{
    		while(j>=1&&s[i]!=s[j+1])
    		{
    			j=nxt[j];
    		}
    		j+=(s[i]==s[j+1]);
    		nxt[i]=j;	
    	}
    	for(i=n;i>=1;i--)
    	{
    		f[i]+=1;
    		f[nxt[i]]+=f[i];
    	}
    	for(i=n;i>=1;i=nxt[i])
    	{
    		ans.push_back(i);
    	}
    	reverse(ans.begin(),ans.end());
    	cout<<ans.size()<<endl;
    	for(i=0;i<ans.size();i++)
    	{
    		cout<<ans[i]<<" "<<f[ans[i]]<<endl;
    	}
    	return 0;
    }
    

H luogu P2375 [NOI2014] 动物园

I CF965E Short Code

J CF1616H Keep XOR Low

K CF558E A Simple Task

L luogu P9717 [EC Final 2022] Binary String

M luogu P3311 [SDOI2014] 数数

posted @   hzoi_Shadow  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-11-04 B3610 [图论与代数结构 801] 无向图的块 题解
扩大
缩小
点击右上角即可分享
微信分享提示