这篇题解的代码与我题解的代码几乎一模一样,只是改了变量名,甚至每行代码出现的都一模一样,并且他写的思路是错误的:
对于每个子序列 [l,r],我们尝试找到所有可能的分割点 i,并检查从 l 到 i 的片段是否可以被删除(即长度在 [minx,maxx] 之间)。
是否可以删除与 [l,i][l,i][l,i] 的长度毫无关系。
如果可以删除,则更新状态值为dfs(l,i,1)+dfs(i+1,r,0)+cnt×cnt。
应当是 dfs(l,i−1,1)dfs(l,i-1,1)dfs(l,i−1,1) 而不是 dfs(l,i,1)dfs(l,i,1)dfs(l,i,1)。
并且转移根本就没有讲清楚。