题解 CF1312E 【Array Shrinking】
题目
传送门
题解
由于
发现对于固定的某一段
这里直接给出求
inline int Merge(const int l,const int r){
if(l==r)return a[l];
if(a[l]!=a[l+1])return -1;
if(l+1==r)return a[l]+1;
rep(i,l+2,r)if(a[i-1]+1!=a[i])return -1;
return a[r]+1;
}
inline void Solve_f(){
rep(i,1,n)rep(j,i,n)f[i][j]=Merge(i,j);
}
然后,我们可以直接进行
但是有一种比较特殊的情况,就是
代码
https://www.cnblogs.com/Arextre/p/13391732.html