題目鏈結
線段樹保留了二叉樹的結構特點,能夠在o(
log(
n)) o(l
og(n
))
的時間內查詢一些區間的資訊,比如區間和,區間最大最小值,而且還支援資料更改。
#include
using
namespace
std;
const
int n = 2e6+100;
struct nodenode[n<<2];
int fa[n];
void buildtree(int i,int l,int r)
int mid = (l+r)>>1;
buildtree(i<<1,l,mid);
buildtree(i<<1|1,mid+1,r);
}inline
void updata(int x)
int ans;
inline
void query(int i,int l,int r)
i<<=1;
if(l <= node[i].r)
else
}i++;
if(r >= node[i].l)
else
}}int main(int argc, char
const *argv)
string op;
int a,b;
cout
<<"case "
<":\n";
while(cin>>op && op !="end")
else
if(op == "sub")
else
杭電 1166 敵兵布陣 (線段樹)
c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的一清二楚,每個工兵營地的人數都有可能發生...
HDU 1166 敵兵布陣 線段樹
第一道線段樹的題目,正在學習中 include include include using namespace std define max 55555 int sum max 2 n void pushup int rt void build int l,int r,int rt int mid ...
hdu1166敵兵布陣 線段樹
problem description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的...