P1121 環狀最大兩段子段和

2022-05-29 04:42:11 字數 518 閱讀 1075

p1121 環狀最大兩段子段和

給出一段環狀序列,選出其中連續不重疊且非空的兩段使得這兩段和最大。 n<=2e5

輸入樣例#1: 複製

7

2 -4 3 -1 2 -4 3

輸出樣例#1: 複製

9

題解:一道好題

考慮兩種情況,o代表選擇

***ooo***ooo**

正做一遍最大子段和,倒做一遍最大子段和兩者相加

ooo****ooo***oo

用總的減去兩段最小子段和就可以得到上述,把原序列變成負的,做一遍最大子段和ok

#includeusing

namespace

std;

const

int m = 2e5 + 10

;int

a[m], f[m], g[m], n;

intsolve()

intmain()

view code

P1121 環狀最大兩段子段和 DP

p1121 環狀最大兩段子段和 難度提高 省選 題目描述 給出一段環狀序列,即認為a 1 和a n 是相鄰的,選出其中連續不重疊且非空的兩段使得這兩段和最大。輸入輸出格式 輸入格式 輸入檔案maxsum2.in的第一行是乙個正整數n,表示了序列的長度。第2行包含n個絕對值不大於10000的整數a i...

洛谷 P1121 環狀最大兩段子段和

題目描述 給出一段環狀序列,即認為a 1 和a n 是相鄰的,選出其中連續不重疊且非空的兩段使得這兩段和最大。輸入輸出格式 輸入格式 輸入檔案maxsum2.in的第一行是乙個正整數n,表示了序列的長度。第2行包含n個絕對值不大於10000的整數a i 描述了這段序列,第乙個數和第n個數是相鄰的。輸...

動態規劃 P1121 環狀最大兩段子段和

給出一段環狀序列,即認為a 1 和a n 是相鄰的,選出其中連續不重疊且非空的兩段使得這兩段和最大。輸入格式 輸入檔案maxsum2.in的第一行是乙個正整數n 表示了序列的長度。第2行包含n個絕對值不大於10000的整數a i 描述了這段序列,第乙個數和第n個數是相鄰的。輸出格式 輸入檔案maxs...