HzuWHF


私信TA

用户名:I7I08I9047

访问量:83355

签 名:

我RUN了

等  级
排  名 19
经  验 21266
参赛次数 13
文章发表 127
年  龄 3
在职情况 学生
学  校 贺州学院
专  业

  自我简介:

        

         QQ图片20190417125039.png

        代码是正确的,区间 Dp。


#include <bits/stdc++.h>
constexpr auto Inf = 0X3F3F3F3F;
typedef long long LL;
using namespace std;

namespace IO {
	inline LL read() {
		LL o = 0, f = 1; char c = getchar();
		while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }
		while (c > '/' && c < ':') { o = o * 10 + c - '0'; c = getchar(); }
		return o * f;
	}
	inline char recd() {
		char o; while ((o = getchar()) != 'D' && o != 'I' && o != 'R'); return o;
	}
}
using namespace IO;

const int SIZE = 1E3 + 7;

LL Dp[SIZE][SIZE], Arr[SIZE];

int main() {
	int N = read();
	for (int pos = 1; pos <= N; pos++) Arr[pos] = read();
	for (int Len = 3; Len <= N; Len++)
		for (int L = 1, R = L + Len - 1; L <= N - Len + 1; L++, R = L + Len - 1) {
			Dp[L][R] = Inf;
			for (int K = L + 1; K < R; K++)
				Dp[L][R] = min(Dp[L][R], Dp[L][K] + Dp[K][R] + Arr[L] * Arr[R] * Arr[K]);
		}
	printf("%lld\n", Dp[1][N]);
}


 

0.0分

1 人评分

  评论区

  • «
  • »