一个不理解的细节
查看原帖
一个不理解的细节
914961
liaoz123楼主2023/10/18 09:01

为什么数组初始化极大值时,这样是对的:

for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
	dis[i][j]=dis[j][i]=sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y));
	f[1][1][0]=f[1][1][1]=0;
	for(int len=2;len<n;len++)
	for(int i=1;i<=n-len+1;i++){
		int j=i+len-1;
		f[i][j][0]=f[i][j][1]=2e15;
/*动态规划*/
}

然而放在前面是错误的,5pts:

for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++){
		f[i][j][0]=f[i][j][1]=2e15;
		dis[i][j]=dis[j][i]=sqrt((a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y));
	}
	f[1][1][0]=f[1][1][1]=0;
	for(int len=2;len<n;len++)
	for(int i=1;i<=n-len+1;i++){
		int j=i+len-1;
/*动态规划部分*/
}

这是什么原因呢?应该没有问题的啊?

2023/10/18 09:01
加载中...