题面 分析性质以进行DP 性质1:一定有一个最优解通过每次删除第一个或最后一个字符达到 这个脑补一下就能证明了 那么我们设$dp[i]$表示后缀$[i,n]$选出一个前缀所能达到的最大长度,从右往左DP 转移时二分当前DP值$dp[i]$,在右边找有没有大于等于$f_i-1$且是$[i,n]$前缀/后缀的DP值,具体怎么找就看个人了 可以不二分吗?可以,继续分析得到性质2 性质2:dp[i]<=dp[i+1]+1 反证,如果$dp[i]>dp[i+1]+1$,那么删掉第一个字符,就会得到$dp…