uestc - 1073
「學習本無底,前進莫徬徨。」 秋實大哥對一旁玩手機的學弟說道。
秋實大哥是乙個愛學習的人,今天他剛剛學習了線段樹這個資料結構。
為了檢驗自己的掌握程度,秋實大哥給自己出了乙個題,同時邀請大家一起來作。
秋實大哥的題目要求你維護乙個序列,支援兩種操作:一種是修改某乙個元素的值;一種是詢問一段區間的和。
input
第一行包含乙個整數nn,表示序列的長度。
接下來一行包含nn個整數aiai,表示序列初始的元素。
接下來一行包含乙個整數mm,表示運算元。
接下來mm行,每行是以下兩種操作之一:
1 x v : 表示將第
x個元素的值改為v
2 l r : 表示詢問
[l,r]
這個區間的元素和
1≤n,m,v,ai≤1000001≤n,m,v,ai≤100000,1≤l≤r≤n1≤l≤r≤n。
output
對於每乙個22 ll rr操作,輸出乙個整數佔一行,表示對應的答案。
sample input
1 2 3
2 1 2
1 1 5
2 1 2
sample output
#include #include
#define lid (id << 1)#define rid (id << 1 | 1)
using
namespace
std;
const
intn=
100005
;struct
node
tr[n * 4];
inta[n];
void push_up(int id)
void build(int id, int l,int r)
intmid = (l + r) >>1;
build(lid, l, mid);
build(rid, mid +
1, r);
push_up(id); }
void updata(int id,int x,int v)
intmid = (tr[id].l + tr[id].r) >>1;
updata(x <= mid ? lid : rid, x, v);
push_up(id); }
long long query(int id, int l, int r)
int main()
return0;
} 線段樹入門(一):
FPGA 程式130例 例10 7 例10 7
10.1 非流水線方式的8位全加器 module adder8 cout,sum,ina,inb,cin,clk output cout reg cout output 7 0 sum reg 7 0 sum input 7 0 ina,inb input cin reg 7 0 tempa,tem...
國慶訓練10 7
second tag 圖論,連通塊,中等 2033 poi2008 blo 時間限制 10秒 記憶體限制 162mb 題目描述 byteotia城市有n個 towns m條雙向roads.每條 road 連線 兩個不同的 towns 沒有重複的road.所有towns連通。輸入 輸入n 100000...
模擬測試107
t1 列舉中心所在位置,每次貪心找到左右最近的乙個相同字元移動。可以用單調指標掃。時間複雜度 o n 2 t2 兩個數的乘積為平方數,那麼這兩個數各自去掉平方因子後相等。去掉平方因子後可以用map統計答案。對於普通的 o sqrt 試除法,複雜度不允許,就算將所有的質數篩出後列舉質數也會超時。篩出質...