#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...