NYOJ 422 字串和之差

2021-07-04 08:24:53 字數 453 閱讀 3533

字串和之差

時間限制:3000 ms | 記憶體限制:65535 kb

難度:3

描述 給出乙個數列,選出乙個連續非空子序列,使該序列的絕對值max最大,再選出乙個非空子序列(與第乙個序列的選擇無關),使該序列的絕對值min最小。輸出max與min的差值。

輸入第一行是乙個整數m(m<8)表示測試資料的組數。

每組資料第一行是乙個整數 n(n<1000000),表示這個數列元素的個數,接下來一行是n個整數x(-100#include#includeint sum[1000005];

int cmp(const void*a,const void *b)

int main()

printf("%d\n",max-min);

}return 0;

}思路詳解:使用動態規劃可能要簡便一些,如上

NYOJ 422 字串和之差

題目雖然是中文的,但說的不是很清楚,求的是連續子串行和的絕對值的最大值和最小值,然後求兩個絕對值的差。剛開始還以為是最大連續子串行和的問題,發現不一樣,想了一會樣例,然後看了discuss後才理解了題意 分析 這題考察的是對前n項和的理解,因為要求連續子串行和,某連續子串行和 a,b 其實就是前b項...

NYOJ 題目442字串和之差(動態規劃)

時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述 給出乙個數列,選出乙個連續非空子序列,使該序列的絕對值max最大,再選出乙個非空子序列 與第乙個序列的選擇無關 使該序列的絕對值min最小。輸出max與min的差值。輸入第一行是乙個整數m m 15 表示測試資料的組數。每組資料...

NYOJ 題目915 字串(字串,水題)

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。輸入多組測試資料 每組資料有兩行...