这样到底有什么区别?
查看原帖
这样到底有什么区别?
983436
wh_up楼主2024/5/31 22:30

有没有大佬解释一下为什么j<=n改成j+i<n*2就A了,否则40分,我j<=n,也没有越界啊,不是一模一样的吗?

for(i=1;i<n;i++){ // 枚举区间长度
    for(j=1;j<=n;j++){ // 枚举区间左端点,又左端点以及区间长度i构成的区间是 [j,j+i] 
        for(k=j;k<j+i;k++){ // 枚举区间分界点 
        f[j][j+i] =	max(f[j][j+i], f[j][k]+f[k+1][j+i]+(sum[j+i]-sum[j-1]));  
        }
    }
} 
for(i=1;i<n;i++){ // 枚举区间长度
	for(j=1;j+i<n*2;j++){ // 枚举区间左端点,又左端点以及区间长度i构成的区间是 [j,j+i] 
		for(k=j;k<j+i;k++){ // 枚举区间分界点 
			f[j][j+i]=max(f[j][j+i], f[j][k]+f[k+1][j+i]+(sum[j+i]-sum[j-1]));  
		}
	}
} 
2024/5/31 22:30
加载中...