hdu4267(樹狀陣列,有規則區間修改)

2021-08-04 06:58:06 字數 555 閱讀 5998

//hdu4267

//題目大意:一段序列,修改某個區間 下標號成等差序列 的元素的值,查詢某個點的值

//對每個公差 以及 某段開始下標對每個公差的取餘(確定某個點被修改的方式,或者這個修改的起始位置?) 建立k*k個樹狀陣列

#include #include #include #include #include #include #include #include #include #include #include #include #include #define l 110

using namespace std;

int c[11][11][50500];

int a[50500];

int n, q;

void add(int k, int t, int x, int d)

}int sum(int k, int t, int x)

return s;

}int main()

if(op== 2)}}

return 0;

}

分狀態的樹狀陣列hdu 4267

我們用tree v k mod 來表示樹狀陣列的狀態。假如a b c k,那麼用樹狀陣列,區間更新,update b,a k,k,c update a 1,a k,k,c 就可以了 也就是說,區間 1,b 內每個ui k mod 那麼ui 的值就加c 然後 1,a 1 區間內每乙個ui c,於是就完...

HDU 4267 三維樹狀陣列

1.題目鏈結。題目的操作其實很像去區間修改,區間查詢的操作了,但是這個操作的區間不再是連續的了,而是離散的。但是這裡還是可以用樹狀陣列維護的,因為k很小,所以k和i k其實只有c 10,2 種情況,我們對每一種情況建一顆樹狀陣列,然後查詢的時候查對應的樹狀陣列即可。includeusing name...

HDU 4267 線段樹區間內部某個值更新

題意 輸入n 下面有n個數,q個操作,對於每次操作 有兩種情況。情況1.輸入1 a b k c,表示更新操作,將a b區間內的符合a i b and i a k 0.的數都 c。情況2 輸入2 a 表示查詢操作,輸出a 上的值。思路 對於這種不是對整個區間都進行更新的操作,似乎lazy演算法就沒什麼...