首页 > 其他分享 >一本通 1469:似乎在梦中见过的样子

一本通 1469:似乎在梦中见过的样子

时间:2022-11-08 15:01:52浏览次数:40  
标签:int len 15e3 1469 一本 solve 梦中见

对于字符串S, 求有多少合法子串( 该子串形式为 ABA, len(B)>=1, len(A) >=K) 

lenS =15e3

 

谁能想到这题是暴力n^2

直接n^2枚举 l,r ,预处理出kmp的next[ ] ,逐个判断

 

 

#include <bits/stdc++.h>
using namespace std ; 
const int N=15e3+5;
 char s[N];
 int n,p[N],L;
 int f[N];
 
 void solve(){
     int i,j,k;
     int ans=0;
     
     for(i=1;i<n;i++){
         memset(p,0,sizeof p);
         p[i]=i-1;
         k=i-1;
         for(j=i+1;j<=n;j++){
             while(k>=i&&s[j]!=s[k+1]) k=p[k];
             if(s[j]==s[k+1]) k++;
             p[j]=k;
         }
         for(j=i;j<=n;j++){
             k=p[j];
             while(k-i+1>=L){
                 if((k-i+1)*2+1<=(j-i+1)){ ans++;break;}
                k=p[k];
             }
         }
     }
     cout<<ans;
 }
 int main(){
     cin>>s+1>>L; n=strlen(s+1);
     solve();
 }

 

标签:int,len,15e3,1469,一本,solve,梦中见
From: https://www.cnblogs.com/towboa/p/16869724.html

相关文章

  • 一本通 1458:Seek the Name, Seek the Fame
    给定若干字符串(这些字符串总长≤4×105​​),在每个字符串中求出所有既是前缀又是后缀的子串长度。 这题应该用kmp.但这里记一下字符串哈希 #include<iostream>#i......
  • 一本通 1466 Power Strings
    找字符串的最短循环节 #include<bits/stdc++.h>usingnamespacestd;constintN=1e6+1;chara[N];intn,p[N];voidinit(){inti,j=0;......
  • 一本通 1593
    农场主 John 新买了一块长方形的新牧场,m*n (1≤M≤12;1≤N≤12),John 打算在牧场上的某几格里种上美味的草。遗憾的是,有些土地相当贫瘠,不能用来种草。并且,John 不会......
  • 一本通1603 绿色通道
    有 n 道题目要抄,耗时a[i]  。用不超过 t分钟抄这个,每道题要么不写,要么抄完,。下标连续的一些空题称为一个空题段,它的长度就是所包含的题目数。现在,小Y想知道他在这......
  • P10241. 「一本通 6.7 例 1」取石子游戏 1
    题目描述有一种有趣的游戏,玩法如下:玩家:2人;道具:N颗石子;规则:游戏双方轮流取石子;每人每次取走若干颗石子(最少取1颗,最多取K颗);石子取光,则游戏结束;最后取石子的一方为胜......
  • 一本通1549
    给定一个正整数数列a1,a2,a3,....a[n],每一个数都在0∼p–1之间。可以对这列数进行两种操作:添加操作:向序列后添加一个数,序列长度变成n+1询问操作:询问这个序列中最后m......
  • SLOJ P10219 「一本通 6.5 例 1」矩阵 A×B
    题目描述矩阵 AA 规模为n×m,矩阵 BB 规模为m×p,现需要你求A×B。矩阵相乘的定义:n×m 的矩阵与m×p 的矩阵相乘变成n×p 的矩阵,令aik​为矩阵A中的元素,bkj​为矩阵......
  • loj10135.「一本通 4.4 练习 2」祖孙询问
    SLOJP10135.「一本通4.4练习2」祖孙询问题目描述已知一棵n个节点的有根树。有m个询问,每个询问给出了一对节点的编号x和y,询问x与y的祖孙关系。输入格式输入第一行......
  • LOJ #10180. 「一本通 5.5 练习 1」烽火传递
    题目链接:​​传送门​​设表示处理到第个位置的最小花费很明显转移要从之前的个位置转移过来就是最后答案要取这样转移是的,但足以通过本题的正解是单调队列优化由于只......
  • LOJ #10005. 「一本通 1.1 练习 1」数列极差
    题目链接:​​传送门​​贪心题才是难的按照从小到大的顺序排,这样相乘会得到最大值,因为后面的最大值乘的更多最小值同理,就是从大到小处理就可以但是注意在操作的过程中不......