dp计数问题 先考虑简单一点的情况,如果允许重复的话,可以用dp[i][j]表示当前位置为i,并且删除了j个元素后的方法数,那么转移相当于考虑第i个位置的数选和没选两种情况,即dp[i][j] = dp[i-1][j] + dp[i-1][j-1],从i=1到n扫描一遍就可以得到答案了。 这道题要求不重复,如果用dp[i][j]表示当前位置为i,删除了j个元素后不重复的方法数,怎么转移呢? 如果还用dp[i][j] = dp[i-1][j-1]可能会引起重复,思考下引起重复的原因肯定是第i个位置的数选中, 那么我们只需要找到上一个a[i]出现的位置,以a[i]结尾并且子串的长度和i-j相...