蒟蒻的问题
查看原帖
蒟蒻的问题
363491
U_92_Uranium楼主2022/9/4 13:13

有两个点不太理解,请明白的大佬传授一下:

	/*DP主要代码*/
for(int i=0; i<32; i++) {
		memset(dp[0],NI,sizeof(dp[0]));/*为什么每一次都要把dp[0]初始化为负无穷,只有枚举的状态i是0?*/
		dp[0][i]=0;
	
		for(int j=1; j<=n; ++j) {
			for(int s=0; s<32; ++s) {
				dp[j][s]=mmax(dp[j-1][(s&15)<<1],dp[j-1][(s&15)<<1|1])+num[j][s];
			}
		}
		if(dp[n][i]>ans) {/*为什么ans在dp[n][i]里面?题解里有人说这里是处理环形DP,但是还是不理解*/
			ans=dp[n][i];
		}
	}
2022/9/4 13:13
加载中...