UESTC 838 母儀天下(樹狀陣列)

2021-07-14 16:08:59 字數 1002 閱讀 1675

思路:樹狀陣列裸題

#includeusing namespace std;

const int maxn = 100000+500;

int c[maxn],a[maxn];

int lowbit(int x)

void update(int i,int d)

{ while(i

description

富庶的建業城中,有一條格格不入的長街,名曰跳蚤街,被戰爭所致的孤兒,聚集於此。全國的經濟都在為戰爭服務之時,也無人顧得了這裡了。

除了兩位夫人。

大喬小喬每天都會帶著一些食物來到跳蚤街,分給某一位孩子。為了避免分配不均,她們時常會詢問乙個區域內食物的總量,然後進行調整以保證每個孩子都有足夠的食物。

input

第一行兩個整數$n$,$m$,表示跳蚤街住著$n$戶孩子,大喬小喬一共分發或詢問了$m$次。

第二行$n$個整數,第$i$個數$a_i$表示第$i$戶孩子已有$a_i$的食物。

接下來$m$行,每行開始先讀入乙個整數$s_i$,指明這是一次詢問還是一次分發。

$s_i = 0$,表明這是一次詢問,然後讀入兩個整數$l_i,r_i$,表示詢問$[l_i,r_i]$區間中的孩子們一共有多少食物。

$s_i = 1$,表明這是一次分發,然後讀入兩個整數$x_i,w_i$,表示對第$x_i$戶孩子分發了$w_i$的食物。

$1\leq n,m\leq100000,0\leq a_i \leq 100000,1\leq x_i \leq n ,0 \leq w_i \leq 10000,1\leq l_i \leq r_i \leq n$

output

有多少詢問就輸出多少行,每行輸出乙個整數,作為對該詢問的回答。

sample input

5 4 

1 2 3 4 5 

1 2 3 

0 2 4 

1 4 1 

0 1 5

sample output

12 19

UESTC 我要長高

題意是 就是題目描述的那樣了吧 題意很顯而易見,一眼dp題 dp i j 代表第i個人身高為j時的最小消耗,dp i j min dp i 1 k abs j k c j h i 2 複雜度o n h i 2 很明顯有點大,學習了一下單調佇列優化dp之後,發現形如dp i min max dp j ...

演算法概論 8 3

吝嗇sat問題是這樣的 給定一組子句 每個子句都是其中文字的析取 和整數k,求乙個最多有k各變數為true的滿足賦值 如果該賦值存在。證明吝嗇sat是np完全問題。可以將sat問題歸約到此問題。首先,若得到了吝嗇sat問題的乙個解,按照此解對吝嗇sat的每個子句賦值,即可驗證這個解是否成立,這個過程...

演算法設計8 3

題目 吝嗇sat問題是這樣的 給定一組子句 每個子句都是其中文字的析取 和整數k,求乙個最多有k個變數為true的滿足賦值 如果該賦值存在。證明吝嗇sat是np 完全問題。解答 首先我們要證明吝嗇sat問題是np 完全問題,我們首先要證明吝嗇sat問題是np問題,然後如果能把sat問題規約到吝嗇sa...