zoukankan      html  css  js  c++  java
  • [luoguP2679] 子串(DP)

    传送门

    气死我了,自己YY的方法只能得70分。

    一个下午都在搞这道题。

    至于正解,真的不想写了。

    请移步 here

    #include <cstdio>
    #define M 201
    #define N 1001
    #define p 1000000007
    #define LL long long
    
    int n, m, t;
    char A[N], B[M];
    LL f[2][M][M], sum[2][M][M];
    
    int main()
    {
    	int i, j, k;
    	scanf("%d %d %d", &n, &m, &t);
    	scanf("%s %s", A + 1, B + 1);
    	for(i = 1; i <= n; i++)
    	{
    		sum[(i & 1) ^ 1][0][0] = 1;
    		for(j = 1; j <= m; j++)
    			for(k = 1; k <= t; k++)
    			{
    				if(A[i] != B[j]) f[i & 1][j][k] = 0;
    				if(A[i] == B[j]) f[i & 1][j][k] = (f[(i & 1) ^ 1][j - 1][k] + sum[(i & 1) ^ 1][j - 1][k - 1]) % p;
    				sum[i & 1][j][k] = (sum[(i & 1) ^ 1][j][k] + f[i & 1][j][k]) % p;
    			}
    	}
    	printf("%lld
    ", sum[n & 1][m][t]);
    	return 0;
    }
    

      

  • 相关阅读:
    Django 常用过滤器
    计算机概论(2)
    计算机概论(1)
    Django URL视图
    模板标签之if、for
    Django 渲染模板、路径配置、变量使用。

    字符串用法
    hashlib模块
    小列
  • 原文地址:https://www.cnblogs.com/zhenghaotian/p/7347494.html
Copyright © 2011-2022 走看看