think:
1線段樹初級操作:單點更新+區間求和
vjudge題目鏈結
以下為time limit exceeded**——區間求和操作不理解,導致直接確定到點,時間複雜度太大
#include
#include
using
namespace
std;
const
int n = 2e5 + 4;
int sum[n];
void build(int l, int r, int rt);
void updata(int rt);
void add(int p, int v, int l, int r, int rt);
int find(int l, int r, int l, int r, int rt);
int main()
else
if(strcmp(st, "add") == 0)
else
if(strcmp(st, "sub") == 0)}}
return0;}
void build(int l, int r, int rt)
int mid = (l+r) / 2;
build(l, mid, rt*2);
build(mid+1, r, rt*2+1);
updata(rt);
}void updata(int rt)
int find(int l, int r, int l, int r, int rt)
int cnt = 0;
int mid = (l+r) / 2;
if(l <= mid)
cnt += find(l, r, l, mid, rt*2);
if(r > mid)
cnt += find(l, r, mid+1, r, rt*2+1);
return cnt;
}void add(int p, int v, int l, int r, int rt)
int mid = (l+r) / 2;
if(p <= mid)
add(p, v, l, mid, rt*2);
if(p > mid)
add(p, v, mid+1, r, rt*2+1);
updata(rt);
}
以下為accepted**
#include
#include
using
namespace
std;
const
int n = 2e5 + 4;
int sum[n];
void build(int l, int r, int rt);
void updata(int rt);
void add(int p, int v, int l, int r, int rt);
int find(int l, int r, int l, int r, int rt);
int main()
else
if(strcmp(st, "add") == 0)
else
if(strcmp(st, "sub") == 0)}}
return0;}
void build(int l, int r, int rt)
int mid = (l+r) / 2;
build(l, mid, rt*2);
build(mid+1, r, rt*2+1);
updata(rt);
}void updata(int rt)
int find(int l, int r, int l, int r, int rt)
int cnt = 0;
int mid = (l+r) / 2;
if(l <= mid)
cnt += find(l, r, l, mid, rt*2);
if(r > mid)
cnt += find(l, r, mid+1, r, rt*2+1);
return cnt;
}void add(int p, int v, int l, int r, int rt)
int mid = (l+r) / 2;
if(p <= mid)
add(p, v, l, mid, rt*2);
if(p > mid)
add(p, v, mid+1, r, rt*2+1);
updata(rt);
}
線段樹 hdu1166 敵兵布陣
problem description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的...
敵兵布陣 HDU 1166 線段樹
c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的一清二楚,每個工兵營地的人數都有可能發生...
敵兵布陣 HDU 1166(線段樹)
c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的一清二楚,每個工兵營地的人數都有可能發生...