当前位置:网站首页>729. My schedule I (set or dynamic open point segment tree)
729. My schedule I (set or dynamic open point segment tree)
2022-07-06 04:16:00 【Harris-H】
729. My schedule I(set or Dynamic open point line segment tree )
Interval coverage , Interval query . Therefore, the value range is large , Small number of queries , So open it dynamically .
The tree building method is similar to the ordinary segment tree , Namely pushdown It is decided whether the left and right sons are empty , Then all functions can use pointers .
Time complexity : O ( n l o g C ) O(nlogC) O(nlogC)
class MyCalendar {
public:
struct node{
node *l,*r;
int s,lz;
};
node * rt = new node();
const int NN = 1e9;
MyCalendar() {
}
void re(node* a){
a->s=a->l->s|a->r->s;
}
void pd(node* a){
if(a->l==NULL) a->l= new node();
if(a->r==NULL) a->r= new node();
if(!a->lz) return;
a->l->s=a->lz;
a->r->s=a->lz;
a->l->lz=a->r->lz=a->lz;
a->lz=0;
}
void upd(node *a,int l,int r,int L,int R,int v){
if(l>=L&&r<=R){
a->s=v;
a->lz=v;return;
}
pd(a);
int m = l+r>>1;
if(L<=m) upd(a->l,l,m,L,R,v);
if(R>m) upd(a->r,m+1,r,L,R,v);
re(a);
}
bool que(node *a,int l,int r,int L,int R){
if(l>=L&&r<=R) return a->s;
int m = l+r>>1;
pd(a);
int ok=0;
if(L<=m) ok|=que(a->l,l,m,L,R);
if(R>m) ok|=que(a->r,m+1,r,L,R);
return ok;
}
bool book(int st, int ed) {
if(que(rt,0,NN,st,ed-1)) return false;
upd(rt,0,NN,st,ed-1,1);
return true;
}
};
set, Practice every time lower_bound l>=ed Of Location p p p.
And then determine ( − − p ) → r ≤ s t < e d ≤ l (--p)\rightarrow r\le st<ed\le l (−−p)→r≤st<ed≤l
Time complexity : O ( n l o g n ) O(nlogn) O(nlogn)
class MyCalendar {
set<pair<int, int>> booked;
public:
bool book(int start, int end) {
auto it = booked.lower_bound({
end, 0});
if (it == booked.begin() || (--it)->second <= start) {
booked.emplace(start, end);
return true;
}
return false;
}
};
边栏推荐
- Lambda expression learning
- Global and Chinese markets for otolaryngology devices 2022-2028: Research Report on technology, participants, trends, market size and share
- lora网关以太网传输
- 2328. 网格图中递增路径的数目(记忆化搜索)
- Database, relational database and NoSQL non relational database
- 729. 我的日程安排表 I(set or 动态开点线段树)
- Global and Chinese markets for fire resistant conveyor belts 2022-2028: Research Report on technology, participants, trends, market size and share
- 1008 circular right shift of array elements (20 points)
- Thread sleep, thread sleep application scenarios
- [disassembly] a visual air fryer. By the way, analyze the internal circuit
猜你喜欢
查询mysql数据库中各表记录数大小
When debugging after pycharm remote server is connected, trying to add breakpoint to file that does not exist: /data appears_ sda/d:/segmentation
Record the pit of NETCORE's memory surge
Understanding of processes, threads, coroutines, synchronization, asynchrony, blocking, non blocking, concurrency, parallelism, and serialization
Solutions: word coverage restoration, longest serial number, Xiaoyu buys stationery, Xiaoyu's electricity bill
[tomato assistant installation]
Lora gateway Ethernet transmission
JVM garbage collector concept
Basic knowledge of binary tree, BFC, DFS
[introduction to Django] 11 web page associated MySQL single field table (add, modify, delete)
随机推荐
51nod 1130 n factorial length V2 (Stirling approximation)
How to execute an SQL statement in MySQL
DM8 archive log file manual switching
MySQL learning record 13 database connection pool, pooling technology, DBCP, c3p0
Class A, B, C networks and subnet masks in IPv4
Mlapi series - 04 - network variables and network serialization [network synchronization]
Mixed development of QML and QWidget (preliminary exploration)
HotSpot VM
[introduction to Django] 11 web page associated MySQL single field table (add, modify, delete)
Yyds dry goods inventory web components series (VII) -- life cycle of custom components
IDEA编译JSP页面生成的class文件路径
1008 circular right shift of array elements (20 points)
Record the pit of NETCORE's memory surge
Fundamentals of SQL database operation
BOM - location, history, pop-up box, timing
How does technology have the ability to solve problems perfectly
综合能力测评系统
判断当天是当月的第几周
How many of the 10 most common examples of istio traffic management do you know?
TCP/IP协议里面的网关地址和ip地址有什么区别?