bzoj 3211 花神遊歷各國

2021-07-11 21:42:55 字數 1052 閱讀 3706

每次x=1時,每行乙個整數,表示這次旅行的開心度 4

1 100 5 5

51 1 2

2 1 2

1 1 2

2 2 3

1 1 4

10111

11對於100%的資料, n ≤ 100000,m≤200000 ,data[i]非負且小於10^9

對於這個開方,一開始yy了好久,後來發現,10^9的數頂多開方六七次,就一直是1了,所以我們可以用all[id]=1表示該區間內所有數都已不用開方(開方了之後沒區別)

寫完之後一直tle,內心崩潰,後來才發現,我把0給忘了。。。。。。

#include#include#include#define p1 id<<1

#define p2 id<<1^1

using namespace std;

long long tree[410000];

int all[410000];

int a[100005];

int n,m,x,y,z;

void build(int id,int l,int r)

int mid=(l+r)/2;

build(p1,l,mid);

build(p2,mid+1,r);

tree[id]=tree[p1]+tree[p2];

}void update(int id,int l,int r,int x,int y)

int mid=(l+r)/2;

if(y<=mid) update(p1,l,mid,x,y);

else

if(x>mid) update(p2,mid+1,r,x,y);

else

tree[id]=tree[p1]+tree[p2];

all[id]=(all[p1]&all[p2]);

}

long long query(int id,int l,int r,int x,int y)

int main()

return 0;

}

BZOJ3211 花神遊歷各國

3211 花神遊歷各國 time limit 5 sec memory limit 128 mb submit 1144 solved 416 submit status discuss description input output 每次x 1時,每行乙個整數,表示這次旅行的開心度 sample...

bzoj3211 花神遊歷各國

其實這是一道sb題 哦不其實是兩道2333333 還有3038也是同一題 然而在寫3038的時候由於資料太水直接就a掉了。剛剛拿之前的code交上去就wa啦。不能判斷區間和是否 r l 1因為會出現0 所以要開多乙個東西表示這個區間還有多少個數不會再改變了 每個數可以開方的次數是很小的,就當做是常數...

bzoj3211花神遊歷各國

description input output 每次x 1時,每行乙個整數,表示這次旅行的開心度 sample input 1 100 5 5 1 1 2 2 1 2 1 1 2 2 2 3 1 1 4 sample output hint 對於100 的資料,n 100000,m 200000 ...