LCR 097. 不同的子序列
使用动态规划就可以解决,重点是知道 动态规划的状态是如何转移的
class Solution {
public:int numDistinct(string s, string t) {int ns = s.size();int nt = t.size();vector<vector<long>> dp(ns+1,vector<long>(nt+1,0));dp[0][0] = 1;for(int i=0;i<ns;++i){dp[i][0] = 1;}for(int i=1;i<=ns;++i){for(int j=1;j<=nt;++j){dp[i][j] += dp[i-1][j];if(s[i-1] == t[j-1] && dp[i][j] <= INT_MAX){dp[i][j] += dp[i-1][j-1];}}}return dp[ns][nt];}
};