- lizexuan's blog
【06NOIP提高组】能量项链
- 2024-5-19 10:41:37 @
首先易知项链是个环因此:
for (int i = 1; i <= n; i++) {
cin >> arr[i];
arr[n + i] = arr[i];
}
本题主要是将小区间化成大区间
当区间内只有两个珠子是,最大力量为
而当区间内有三个珠子时,最大力量则为
因此状态转移方程就是:
最后取最大值然后写代码就行了
首先易知项链是个环因此:
for (int i = 1; i <= n; i++) {
cin >> arr[i];
arr[n + i] = arr[i];
}
本题主要是将小区间化成大区间
当区间内只有两个珠子是,最大力量为ai×ai+1
而当区间内有三个珠子时,最大力量则为max(ai×ai+1,ai+1×ai+2)
因此状态转移方程就是:
f(i,j)=max(f(i,j),f(j,k)+f(k+1,i)+aj×ak+1×ai+1)
最后取最大值然后写代码就行了