关于dp初始化问题
Posted oieredsion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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个赋初值
以上是关于关于dp初始化问题的主要内容,如果未能解决你的问题,请参考以下文章