警示后人
查看原帖
警示后人
360974
Y204335楼主2024/8/7 16:38

如果用区间DP做,打状态转移方程时,各种情况都应该用if,而不是用if~~~ else if~~~~,不然25pts拿下,我总是能搞出一些奇奇怪怪的错误

if(l&&(f[l-1][r][0]+gg(m+l-1,m+l))<f[l][r][0]){
	f[l][r][0]=f[l-1][r][0]+gg(m+l-1,m+l);
	fa[l][r][0]={l-1,r,0}; 
}
if(l&&(f[l-1][r][1]+gg(m-r,m+l))<f[l][r][0]){
	f[l][r][0]=f[l-1][r][1]+gg(m-r,m+l);
	fa[l][r][0]={l-1,r,1}; 
}
if(r&&(f[l][r-1][0]+gg(m+l,m-r))<f[l][r][1]){
	f[l][r][1]=f[l][r-1][0]+gg(m+l,m-r);
	fa[l][r][1]={l,r-1,0}; 
}
if(r&&(f[l][r-1][1]+gg(m-r,m-r+1))<f[l][r][1]){
	f[l][r][1]=f[l][r-1][1]+gg(m-r,m-r+1);
	fa[l][r][1]={l,r-1,1};
}
2024/8/7 16:38
加载中...