思路:区间dp,套路很常见,需要注意一点的是*的情况,因为顶点的值有正有负所以可能出现两个负数相乘的值大于两正数相乘的值,故我们还得求一个去区间最小值。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> P;
const int maxn = 100 + 10;
const LL INF = 1e17;
const int MAX_LOG_N = 20;
const double eps = 1e-6;
const int mod = 1e9 + 7;
int n;
LL v[maxn], f[maxn][maxn], g[maxn][maxn];
int op[maxn];
void solve() {
scanf("%d", &n);
for(int i = 1; i <= 2 * n; i++) {
for(int j = 1; j <=