区别:
1.对于预处理部分,链式为前缀和s[ ]。环形为区间cost[ ][ ];
2.主要环形的处理 w[n+i] = w[i]; //环长度为n
//链式
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn = 310,INF = 0x3f3f3f3f;
int N;
int w[maxn],s[maxn];
int f[maxn][maxn]; //区间DP
int main()
{
cin>>N;
for(int i=1;i<=N;i++)cin>>w[i];
for(int i=1;i<=N;i++)s[i] = s[i-1]+w[i]; //前缀和
for(int len = 2;len<=N;len++){
//先枚举区间长度
for(int l