dp求优化
查看原帖
dp求优化
808222
Kotobuki_Tsumugi楼主2024/8/22 08:26

核心代码:

for(int i = 2;i<=m;i++){
	now ^= 1;
	for(int j = i;j<=n;j++){
		for(int k = 1;k<=j-i+1;k++){
			dp[now][j][k] = max(-INF,dp[now^1][j-k][p[i-1][j-k]]+b[i]*(f[j]-f[j-k]));
			if(dp[now][j][k] > maxn[i][j]) maxn[i][j] = dp[now][j][k],p[i][j] = k;
		}
	}
}

now 是滚动数组的组件。p[][]可以预处理出来。TT 组数据是 O(Tn2m)O(Tn^2m) 的。如何优化?

其中,1≤T≤20,1≤m≤n≤2×1031\le T\le 20,1\le m\le n \le 2\times10^3、

2024/8/22 08:26
加载中...