首页 > 其他分享 >寒假集训纪要

寒假集训纪要

时间:2024-01-30 20:00:14浏览次数:21  
标签:std cnt ch int namespace long 集训 寒假 纪要

1.28

KMP算法

匹配
int j;
j=0;
for(int i=1;i<=la;++i)
{
    while(j && b[j+1]!=a[i]) j=next[j];
    if(b[j+1]==a[j]) j++;
    if(j==lb)
    {
        cout<<i-lb+1<<'\n';
        j=next[j];
    }
}
处理 next 数组
j=0;
for(int i=2;i<=lb;++i)
{
    while(j && b[i]!=b[j+1])
        j=next[j];
    if(b[j+1]==b[j]) j++;
    next[i]=j;
}
洛谷模板
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e7+50;
int la,lb,next_[N],j;
char a[N],b[N];
signed main()
{
    cin>>a+1;
    cin>>b+1;
    la=strlen(a+1);
    lb=strlen(b+1);
    for(int i=2;i<=lb;++i)
    {
        while(j && b[i]!=b[j+1])
            j=next_[j];
        if(b[j+1]==b[i]) j++;
        next_[i]=j;
    }
    j=0;
    for(int i=1;i<=la;++i)
    {
        while(j>0 && b[j+1]!=a[i]) j=next_[j];
        if(b[j+1]==a[i]) j++;
        if(j==lb)
        {
            cout<<i-lb+1<<'\n';
            j=next_[j];
        }
    }
    for(int i=1;i<=lb;++i)
        cout<<next_[i]<<" ";
}
动物园

有趣的题

预处理串的长度然后 num 数组按题意模拟即可(不是

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e7+50;
const int p=1e9+7;
int la,lb,next_[N],n;
int sum[N];
char a[N];
signed main()
{
    cin>>n;
    while(n--)
    {
        memset(next_,0,sizeof(next_));
        memset(sum,0,sizeof(sum));
        cin>>a+1;
        la=strlen(a+1);
        int ans=1;
        sum[1]=1,next_[1]=0;
        for(int i=2,j=0;i<=la;++i)
        {
            while(j && a[i]!=a[j+1])
                j=next_[j];
            if(a[j+1]==a[i]) j++;
            next_[i]=j;
            sum[i]=sum[j]+1;
        }
        for(int i=1,j=0;i<=la;++i)
        {
            while(j>0 && a[j+1]!=a[i]) j=next_[j];
            if(a[j+1]==a[i]) j++;
            while(j>i/2) j=next_[j];
            ans=(ans*(sum[j]+1))%p;
        }
        cout<<ans<<'\n';
    }
}
Censoring S

KMP删除操作,栈模拟,如果匹配到了子串就出栈即可。

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e7+50;
const int p=1e9+7;
int la,lb,next_[N],n;
int pos[N],top,sta[N];
char a[N],b[N];
signed main()
{
    cin>>a+1>>b+1;
    int la=strlen(a+1),lb=strlen(b+1);
    for(int i=2,j=0;i<=lb;++i)
    {
        while(j && b[i]!=b[j+1])
            j=next_[j];
        if(b[j+1]==b[i]) j++;
        next_[i]=j;
    }
    for(int i=1,j=0;i<=la;++i)
    {
        while(j && a[i]!=b[j+1]) j=next_[j];
        if(b[j+1]==a[i]) j++;
        pos[i]=j;
        sta[++top]=i;
        if(j==lb) top-=lb,j=pos[sta[top]];
    }
    for(int i=1;i<=top;++i)
        cout<<a[sta[i]];
}
【XR-3】系统设计

写的最久的题,挑了一下午发现线段树写假了

标签:std,cnt,ch,int,namespace,long,集训,寒假,纪要
From: https://www.cnblogs.com/HSxh/p/17997855

相关文章

  • 寒假集训Day10
    前缀和https://www.luogu.com.cn/problem/P2280一维前缀和维护一个前缀和数组,使得每一个元素num[i]等于从a[1]到a[i]所有元素之和,一位前缀和非常好写。这个时候如果我们要求某一区间[l,r]中所有元素的和,只需要用num[r]-num[l-1]即可二维前缀和我们用num[i][j]表示从(1,1)到(......
  • 寒假生活指导22
    今天尝试使用hutool对自己的oss进行下载。<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.11</version></dependency>packages......
  • 寒假学习15
    今天接着学习声音转换训练: 点击脚本可以查看转换进度: http://localhost:6006/在转换声音数据的时候显示错误 问了问gpt:还是无法解决。......
  • 大三寒假学习进度笔记20
    今日对LangChain进行了一些了解。LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型(LLM)和聊天模型提供支持的应用程序的过程。LangChain可以轻松管理与语言模型的交互,将多个组件链接在一......
  • 1.29寒假每日总结20
    将你的Python代码打包成一个exe文件,方便其他人在没有安装Python环境的情况下运行,可以使用PyInstaller或cx_Freeze等工具将其打包成可执行文件。以下是使用PyInstaller的步骤:首先,确保你已经安装了PyInstaller。你可以使用以下命令在终端或命令提示符中进行安装:CopyCodepipi......
  • 2024.1.29寒假每日总结20
    算法题:514.自由之路-力扣(LeetCode)将你的Python代码打包成一个exe文件,方便其他人在没有安装Python环境的情况下运行,可以使用PyInstaller或cx_Freeze等工具将其打包成可执行文件。以下是使用PyInstaller的步骤:首先,确保你已经安装了PyInstaller。你可以使用以下命令在终端或命......
  • 六至水土,出水土记,一千言,写在寒假集训的最后几页
    前言写这篇回忆入魔咕咕了其他随笔忘了吃饭了所以也不是上课摸鱼吧写一些平平淡淡的事可能有些个人色彩了假如就是一个平行世界的水土和xndxfz吧不想看就不看都挺好多年前一至水土重庆卖的房子比较多价格也在涨我爸的一个高中同学是房屋中介公司和水土某楼盘有合作......
  • 2024寒假集训日记
    1.27闲话做题纪要CF1433ETwoRoundDances详见CF1433ETwoRoundDances题解。CF739AAlyonaandmex详见CF739AAlyonaandmex题解。1.28闲话做题纪要luoguP1993小K的农场详见【学习笔记】差分约束。luoguP3275[SCOI2011]糖果详见【学习笔......
  • 寒假生活指导21
    #!/usr/bin/envpython#-*-coding:utf-8-*-#------------------------------''''''USER_AGENT_LIST=['Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;HotLingo2.0)','Mozilla/5.......
  • 2024年1-2月寒假读书会【大国大城--专题一:区域与城市】
    2024年1-2月寒假读书会【大国大城--专题一:区域与城市】       ......