- 这里解释一下题解1对子树为空的处理。
- 以下供需要的oier们参考修改,大佬们可自行略去。
- 题解1预处理左子树为空的情况,却没有枚举右端点,曾让蒟蒻我大惑不解~~
- 其实,对len的枚举在某种程度上不方便对区间dp的理解,这里给出一种不需要对端点处理的写法。
- 下只给出修改部分,以防被误认为在讨论区放AC代码...
for循环:(正常区间枚举方式)
for(int len=1;len<=n;len++)
{
for(int i=1;i+len-1<=n;i++)
{
int j=i+len-1;
for(int k=i;k<j;k++)
{
}
}
}
但是,这样是过不了样例的,会出现0.
所以,我们要在预处理部分加上这个:
root[i][i]=i;
这样就避免了因区间问题带来的烦人特判。