問題 A 數列操作

2021-09-25 13:45:41 字數 1135 閱讀 8447

問題

a: 數列操作

時間限制

: 1 sec  

記憶體限制

: 128 mb

提交: 63  

解決: 22[提交

][狀態

][討論版

][命題人

:quanxing

][edit

] [testdata]

題目描述 給定

n個數列,規定有兩種操作,一是修改某個元素,二是求子數列

[a,b]

的連續和。數列的元素個數最多

10萬個,詢問操作最多

10萬次。 輸入

第一行2個整數

n,m(

n表示輸入

n個數列,

m表示有

m個操作)

第二行輸入

n個數列。

接下來m

行,每更好行有三個數

k,a,b(k=0

表示求子數列

[a,b]

的和,k=1

表示第a

個數列加b)

輸出 輸出若干行數字,表示每次

k=0時對應輸出乙個子數列

[a,b]

的連續和。

樣例輸入

10 5

1 2 3 4 5 6 7 8 9 10

1 1 5

0 1 3

0 4 8

1 7 5

0 4 8

樣例輸出

11

3035

思路:樹狀陣列所有操作加上去就行了

**:

#includeusing namespace std;

#define maxn 100005

int a[maxn], c[maxn];

int n, m;

int lowbit(int t)//t轉換為二進位制後,有末尾連續0共k個,返回2^k次方

void add(int x, int y)//單點修改

}int sum(int x)//區間求和

return ans;

}int main()

else

}}

NKOI 1321 數列操作問題

數列操作問題 time limit 10000ms memory limit 65536k total submit 345 accepted 185 case time limit 1000ms description 假設有一列數 1 i n 支援如下兩種操作 將ak的值加d。k,d是輸入的數 ...

數列極差問題

在黑板上寫了n個正整數排成的乙個數列,進行如下操作 每次擦去其中的兩個數a和b,然後在數列中加入乙個數a b 1,如此下去直至黑板上剩下乙個數,在所有按這種操作方式最後得到的數中,最大的記為max,最小的記作min,則該數列的極差定義位m max min。問題分析 下面通過例項來認識題目中描述的計算...

數列求和問題

problem description 數列的定義如下 數列的第一項為n,以後各項為前一項的平方根,求數列的前m項的和。輸入 輸入資料有多組,每組佔一行,由兩個整數n n 10000 和m m 1000 組成,n和m的含義如前所述。輸出 對於每組輸入資料,輸出該數列的和,每個測試例項佔一行,要求精度...