線段樹模板

2021-06-13 09:40:33 字數 1065 閱讀 4243

#include #include #include using namespace std;

const int size = 10010;

struct node // the node of line tree

};class linetree

void updatem()

void updateline()

}public:

linetree();

void clear(); // 清空線段數;

void build(int l,int r); // 建立線段樹,區間[l,r];

void insert(int l,int r); // 插入一條線段;

void del(int l,int r); // 刪除一條線段;

int getm(); // 測度;

int getline(); // 連續段數;

int getcov(); // 覆蓋線段數;

~linetree();

};linetree::linetree()

void linetree::clear() // 清空線段數

void linetree::build(int l,int r) // 建立線段樹,區間[l,r]

}void linetree::insert(int l,int r) // 插入一條線段

if (r > (head->i+head->j)/2)

}updatem();

updateline();

}void linetree::del(int l,int r) // 刪除一條線段

if (r > (head->i+head->j)/2)

}updatem();

updateline();

}int linetree::getm() // 測度

int linetree::getline() // 連續段數

int linetree::getcov() // 覆蓋線段數

linetree::~linetree()

線段樹模板(模板)

參考部落格 持續更新。外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img xhrgdjcd 1613976863463 區間儲存在陣列中的下標對應為 12 3 4 5 6 7 8 9 10 11 12 13 14 15 四部分單點更新 根據題目的要求編寫自己的pushup,query...

線段樹模板

單點更新,區間求最值 include include include include include define n 222222 using namespace std int num n struct tree tree n 4 void push up int root void build...

線段樹模板

下面的兩份線段樹模板,乙份是單點更新維護區間最小值,乙份是區間更新,同時維護區間和,區間最大最小值。如下 線段樹單點更新 include include include include using namespace std define maxn 1000 define inf 0x3f3f3f3...