NOIP模擬賽 天神下凡 動態開點線段樹

2022-03-27 03:10:26 字數 964 閱讀 1265

這些圓一定是在同一水平面上的,由於他們沒有相交,因此我們發現他們每個人與外界關係可以分為,1.存在並圈圈 2.存在圈圈並被割,因此我們把所有的圓都加1,把被割的在加1,就可以啦,因此我們開乙個線段樹,維護一段區間有沒有被全部覆蓋

#include #include 

#include

#include

#include

#define r register

#define maxn 300000

using

namespace

std;

typedef unsigned

long

ui;struct

oo[maxn+10

];int

n;int comp(const o a,const

o b)

struct

seg_tree

*root;

inline seg_tree *new(ui l,ui r)

bool query(seg_tree *p,ui l,ui r)

if(p->midreturn

ans;

}void ins(seg_tree *p,ui l,ui r)

if(l<=p->mid)

if(p->midif(p->ch[0]&&p->ch[1])p->cover=p->ch[0]->cover&p->ch[1]->cover;

}inline

void

init()

sort(o+1,o+n+1

,comp);

root=new(1

,4000000010ll);

}inline

void

work()

printf("%d

",ans);

}int

main()

noip模擬題 天神下凡(貪心)

vijos某次模擬賽原題。處理出每個圓的一級祖先就行了。其實沒有那麼麻煩,貪心即可出解。我們將每個圓轉換成線段後按左端點小右端點大的方法排序 然後維護乙個棧 對於每乙個圓i 如果棧頂右端點比圓i的右端點小,則出棧,直到棧空 否則i的一級祖先就是棧頂,並且加入i到棧。證明 因為左端點排序,所以問題轉換...

noip模擬賽 密碼

表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...

NOIP模擬賽 老師

題目描述 一座有n層的教學樓裡有一些學生,第i 0 i n 層有studentsi個學生。你被給定了乙個數k,如果第i層有x個學生,那麼這一層需要 x k 個老師。你可以調整每個學生的樓層,但是每個學生至多只能調整一層,就是說第i層的學生只能去第i 1層 如果有的話 第i層 第i 1層 如果i 1 ...