用高权重网站的目录做站群怎么样,班级信息网站建设的现状,网站推广的必要性,网站qq弹窗题目#xff1a; 题解#xff1a;
一种可行的dp做法是基于完全背包问题#xff0c;将s看成是一个背包#xff0c;wordDict看作是物品#xff0c;然后往s中放入物品判断最终是否可以变为给定的s即可。这道题和上一题都用到了在dp如何枚举连续子串和状态表示#xff1a;枚…题目 题解
一种可行的dp做法是基于完全背包问题将s看成是一个背包wordDict看作是物品然后往s中放入物品判断最终是否可以变为给定的s即可。这道题和上一题都用到了在dp如何枚举连续子串和状态表示枚举右端点在这过程中枚举所有合理的左端点所有的区间即为合法的连续子串。
bool wordBreak(string s, vectorstring wordDict) {setstring se(wordDict.begin(),wordDict.end());int dp[305]{0};dp[0]1;for(int i1;is.size();i){for(int j0;ji;j){if(se.find(s.substr(j,i-j))!se.end()dp[j]){dp[i]1;}}}return dp[s.size()];}
题后反思
本题是左闭右开的连续子串枚举根据题目的递推式将dp[0]1;