zoukankan      html  css  js  c++  java
  • 关于dp初始化问题

    // 前缀和dp优化1
    #include<bits/stdc++.h>
    using namespace std;

    int main()
    {
        for(int u=1,i=1;i<=n;i++)
        {
           while(s[i]-s[u]>le) u++;
           p[i]=u;    
        }
        for(int i=1;i<=n&&s[i]<=le;i++) f[0][i]=1;
        for(int j=1;j<=m;j++) 
    {
        for(int i=1;i<=n;i++) sum[i-1][j]=sum[i-1][j-1]+f[i-1][j];
        for(int i=1;i<=n;i++)  f[i][j]=.....

    }

    //滚动数组DP赋初值  nkoj  noip 2015 字串

    for(int i=0;i<=n;i++)
    { f[0][i][0]=1;
    sum[0][i][0]=1;
    }
    for(int t=1;t<=k;t++)
    {
    memset(f[t&1],0,sizeof(f[t&1]));
    memset(sum[t&1],0,sizeof(sum[t&1]));
       for(int i=1;i<=n;i++)
          for(int j=1;j<=m;j++)
            {
           
            if(a[i-1]==b[j-1])
            {
            f[t&1][i][j]=sum[(t-1)&1][i-1][j-1]%mod;
            if(a[i-2]==b[j-2])
            {
            f[t&1][i][j]=(f[t&1][i][j]+f[t&1][i-1][j-1])%mod;
            }
           
                   
            } sum[t&1][i][j]=sum[t&1][i-1][j]%mod+f[t&1][i][j]%mod;
        }
            }
    cout<<sum[k&1][n][m]%mod<<endl;


    //滚动数组初始化2

    在循环内赋初值

    //前缀和赋初值2

    第一个或第0个赋初值

    刀剑映出了战士的心。而我的心,漆黑且残破
  • 相关阅读:
    Python学习摘要201802
    机器学习-梯度下降参数调优小结
    用尽洪荒之力学习Flask源码
    Flask类的属性和方法大全
    Flask第三方工具组件介绍
    Flask自带的常用组件介绍
    Centos下部署Flask
    Python Tips阅读摘要
    web程序设计关于我们
    软工实践总结
  • 原文地址:https://www.cnblogs.com/OIEREDSION/p/11048549.html
Copyright © 2011-2022 走看看