101628A - Arthur's Language

思路:dp,状态转移见代码。

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long 
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a))

const int N=1e5+5;
const int MOD=1e9+7;
ll dp[N][11];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    string s,t;
    cin>>s>>t;
    for(int j=0;j<=s.size();j++)dp[j][0]=1;
    for(int i=1;i<=t.size();i++)
    {
        for(int j=1;j<=s.size();j++)
        {
            if(s[j-1]==t[i-1])dp[j][i]=(dp[j-1][i]+dp[j-1][i-1])%MOD;
            else dp[j][i]=dp[j-1][i];
        }
    }
    cout<<dp[s.size()][t.size()]<<endl;
    return     0;
} 

 

相关文章:

  • 2021-08-03
  • 2021-06-11
  • 2021-06-14
  • 2021-12-05
  • 2021-06-04
  • 2021-07-15
  • 2021-09-08
猜你喜欢
  • 2021-05-27
  • 2021-12-07
  • 2022-12-23
  • 2021-06-30
  • 2022-01-13
  • 2022-03-05
  • 2021-07-20
相关资源
相似解决方案