陣列求和問題

2021-06-22 09:36:29 字數 796 閱讀 3402

problem description

給定乙個長度為n的陣列,從這個陣列裡面隨機從前往後取m個數,使得這m個數的和是s,並且這m個數每相鄰的兩個數的下標相差為p。 

input

首先是乙個整數t,表示有t組資料,每組資料首先是四個整數,n(1<=n<=100000),m(1<=m<=n),s(0<=s<=10^9),

p(1<=p<=100000)意思如題目描述,接下來一行有n個非負數,都小於10^9,表示陣列元素的值。 

output

對於每組資料,首先輸出」case #:」,#從一開始,接下來乙個數就輸出方案總數。輸出格式詳見樣例。 

sample input

3

10 2 5 2

1 2 1 3 1 3 2 2 3 2

5 2 10 1

5 5 5 5 5

6 3 10 2

4 2 4 4 4 4

sample output

case 1:3

case 2:4

case 3:1

//題解:對陣列進行預處理,b[i] = b[i-p] + a[i]; a陣列是輸入的一列數,b陣列儲存預處理之後的數,然後進行遍歷,判斷第 i 數和接下來的(m-1)個數是否符合條件,等價於b[i+(m-1)*p] - b[i] + a[i] == s ? 如果等於就是所求的乙個,否則就不是的。 

樹狀陣列 求和問題題解

題目 求和問題 描述 問題描述 在乙個長度為n的整數數列中取出連續的若干個數,並求它們的和。輸入格式 輸入由若干行組成,第一行有乙個整數n 第二行有n個整數 第三行有乙個整數m 下面m行,每行兩個整數i與j i j 表示求和的起始和終止位置。輸出格式 輸出有m行,每行乙個整數,表示這個數段數列的和。...

子陣列求和

乙個面試題,哎 題目 連續子陣列求和 給定乙個整數陣列,請找出所有的連續子陣列,計算所有的子陣列的和,輸出子陣列和相加的結果。例如 陣列 1,3,7 有7個子陣列 1 3 7 1,3 3,7 1,3,7 子陣列相加後的結果是36 1 3 7 1,3 3,7 1,3,7 0 1 3 7 4 10 11...

jq陣列求和

題目描述 計算給定陣列 arr 中所有元素的總和 輸入描述 陣列中的元素均為 number 型別 輸入 1,2,3,4 輸出 10 slice 方法可從已有的陣列中返回選定的元素。arr.slice 1 表示返回從下標為1開始的所有陣列元素 不考慮演算法複雜度,用遞迴做 function sum a...