首页 > 其他分享 >板子库

板子库

时间:2024-09-30 22:22:57浏览次数:8  
标签:nxt int 板子 && printf strlen

字符串

KMP

const int N = 1e6 + 5;
int n, m;
int nxt[N]; // t串前缀的border长度
char s[N], t[N];

int main()
{
    scanf("%s%s", s + 1, t + 1);
    n = strlen(s + 1);
    m = strlen(t + 1);
    for (int i = 2; i <= m; i++)
    {
        int j = nxt[i - 1];
        while (j > 0 && t[i] != t[j + 1])
            j = nxt[j];
        if (t[i] == t[j + 1])
            nxt[i] = j + 1;
    }
    for (int i = 1, j = 0; i <= n; i++)
    {
        while (j > 0 && s[i] != t[j + 1])
            j = nxt[j];
        if (s[i] == t[j + 1])
            j++;
        if (j == m)
            printf("%d\n", i - m + 1);
    }
    for (int i = 1; i <= m; i++)
        printf("%d%c", nxt[i], " \n"[i == m]);
    return 0;
}

标签:nxt,int,板子,&&,printf,strlen
From: https://www.cnblogs.com/avalaunch/p/18442510

相关文章

  • PbootCMS设置当前站点模板,模板子目录,黑白名单,敏感词过滤等
    进入【全局配置】在后台左侧菜单中选择【全局配置】。进入【配置参数】在【全局配置】菜单下,选择【配置参数】。进入【基本配置】在【配置参数】页面中,找到【基本配置】选项。配置敏感词过滤在【基本配置】页面中,找到【敏感词过滤】选项并添加需要过滤的敏......
  • PbootCMS设置当前站点模板,模板子目录,黑白名单,敏感词过滤等
    在PbootCMS中,后台操作涉及多个配置项,包括更换模板路径、配置后台模板子目录、配置后台黑名单和白名单以及敏感词过滤。以下是详细的步骤和解释。后台操作更换模板路径进入【基础内容】在后台管理界面左侧菜单栏中点击“基础内容”。选择【站点信息】在“基础内容”......
  • 板子大全
    数据结构01trieconstintM=30;constintN=2e5+5;intn,a[N];structTrie{ intt[N*M][2],ed[N*M],dp[N*M],tot; inlinevoidclear(void){ for(inti=0;i<=tot;i++)t[i][0]=t[i][1]=ed[i]=dp[i]=0; tot=0; } Trie(void......
  • P3478 STA-Station/换根 $dp$ 板子
    P3478[POI2008]STA-Stationlink给定一个\(n\)个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大。一个结点的深度之定义为该节点到根的简单路径上边的数量。对于全部的测试点,保证\(1\leqn\leq10^6\),\(1\lequ,v\leqn\),给出的是一棵树。思路:树......
  • PCB双面制造解析,你的板子是这么做出来的
    图形电镀工艺是制造高质量电路板的关键步骤。这一过程不仅需要精确的控制,还涉及到多个复杂的化学和物理操作。一、图形电镀工艺流程首先,让我们从最基本的步骤开始:电路板的制作始于一块覆有铜箔的板材。接下来,根据设计要求,板材会被裁剪并冲钻出基准孔,以确保后续工序的精确......
  • PbootCMS设置当前站点模板,模板子目录,黑白名单,敏感词过滤
    在PBootCMS中,后台操作涉及多个配置项,包括更换模板路径、配置后台模板子目录、配置后台黑名单和白名单以及敏感词过滤。下面是详细的步骤和说明。1.更换模板路径步骤进入站点信息页面:登录PBootCMS后台。导航至 【基础内容】-【站点信息】-【站点模板】。选择模板......
  • 【AD那些事 7 】板子完成!铺铜后!检查的!注意事项! !!板子连线过程中注意事项!!!
    板子连线过程中注意事项:第一,不能距离边缘过近第二,走线不能过长,保证焊盘焊盘间距离短(拒绝太多折线连接)第三,在布线途中旋转器件,确保连接第四,确保GND线可以互相连通如果未连接地线,通过铺铜连接地线时注意事项:1.这样连接是锐角,不能哦  (同一层线不能锐角)   2.铺......
  • AD设计板子尺寸等,设计PCB的一些个人总结技巧
    板框大小评估第一步:首先先左键按紧,框选好你的元件第二步:进行板框大小评估   工具 - 器件摆放 - 在矩形区域摆放之后通过鼠标框选矩形区域,元件会自动按照框选的范围进行摆放。会摆出一个大概的位置板框绘制 第一步:点击Mechanical1,切换到机械层。(记得先把shee......
  • 一些板子
    平衡树系列splay点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintN=2e6+10;intsiz[N],cnt[N],tot,fa[N],ch[N][2],val[N],root,n;inlineintread(){ registerintans=0;registercharch=getchar();registerboolflag=0; while(ch<'0&#......
  • 图论板子
    Primtypedefpair<int,int>P;intprim(){intans=0,cnt=0;priority_queue<P,vector<P>,greater<P>>q;fill(d+1,d+n+1,INF);d[1]=0;q.push(P(d[1],1));while(!q.empty()&&cnt<......