問題
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的含義如前所述。輸出 對於每組輸入資料,輸出該數列的和,每個測試例項佔一行,要求精度...