zoukankan      html  css  js  c++  java
  • 【Luogu】P2679子串(DP)

      题目链接

      GuessYCB的题解讲的很棒。就这样。

      因为这题我不会,而题解又讲的太全太详细太好了。

      

    #include<cstdio>
    #include<cctype>
    #include<cstring>
    #include<algorithm>
    #define mod 1000000007
    
    inline int Map(char x){    return x-'a'+1;}
    
    inline long long read(){
        long long num=0,f=1;
        char ch=getchar();
        while(!isdigit(ch)){
            if(ch=='-')    f=-1;
            ch=getchar();
        }
        while(isdigit(ch)){
            num=num*10+ch-'0';
            ch=getchar();
        }
        return num*f;
    }
    
    long long f[3][1010][1010];
    long long d[3][1010][1010];
    
    char s[1010],c[1010];
    
    int main(){
        int n=read(),m=read(),q=read();
        scanf("%s",s+1);
        scanf("%s",c+1);
        int now=1,past=0;
        f[0][0][0]=1;
        for(int i=1;i<=n;++i){
            f[now][0][0]=1;
            for(int j=1;j<=m;++j)
                for(int k=1;k<=q;++k){
                    if(s[i]==c[j])    d[now][j][k]=(f[past][j-1][k-1]+d[past][j-1][k])%mod;
                    else             d[now][j][k]=0;
                    f[now][j][k]=(f[past][j][k]+d[now][j][k])%mod;
                }
            std::swap(now,past);
        }
        printf("%lld",f[past][m][q]);
        return 0;
    }
  • 相关阅读:
    头插法建立单链表
    顺序表
    栈的顺序存储实现
    折半查找
    myeclipe 快捷键盘
    ztree redio单选按钮
    webuploader上传进度条 上传删除
    svn乱码解决办法
    异构SOA系统架构之Asp.net实现(兼容dubbo)
    RPC框架
  • 原文地址:https://www.cnblogs.com/cellular-automaton/p/7607738.html
Copyright © 2011-2022 走看看