時間限制: 1 sec 記憶體限制: 256 mb
題面
題面謝絕公開。
線段樹記錄四個資訊:l、r、mid、p。
l代表線段樹該節點所管轄的區間內最左邊的花精所在位置。r代表最右邊花精所在位置。
mid代表區間內相鄰花精距離最大值除以二,p代表mid值所在的位置。
考慮初始值:
對於每乙個線段樹所管轄的每乙個區間,$l=r=0$。$mid=p=0$。
考慮轉移過程:
l取最左邊,若左兒子的l有值,則為左兒子的l,否則若右兒子的l有值,l取右兒子的l,否則為0。r同理。
mid先在左兒子的mid和右兒子的mid中取最大值,然後考慮跨區間的轉移。
若左兒子的r!=0,右兒子的l!=0,則mid=max(mid,(右兒子的l-左兒子的r)/2)。p相應更新。
至於第乙個花精進入判掉即可233。
**:
#include#define rint register intview code#define lc(a) (a<<1)
#define rc(a) (a<<1|1)
using
namespace
std;
int n,m,vis[1000006
];struct nodet[1000006
<<5
];inline
intget_dis()
inline
void update(int
k)inline
void add(int k,int l,int r,int
p)
int mid=(l+r)>>1
;
if(p<=mid)add(lc(k),l,mid,p);
else add(rc(k),mid+1
,r,p);
update(k);
}inline
void del(int k,int l,int r,int
p)
int mid=(l+r)>>1
;
if(p<=mid)del(lc(k),l,mid,p);
else del(rc(k),mid+1
,r,p);
update(k);
}int
main()
else del(1,1
,n,vis[x]);
}return0;
}/*7 11
1 15
1 123123
1 31 5
2 123123
2 15
1 21
2 31 6
1 71 8
*/
CSP S模擬41影子,玫瑰花精題解
題面 影子 暴力方法 列舉每一對點暴力統計最小權 優化 考慮並查集,列舉每個點,如果沒有被訪問過,那麼嘗試把這兩個點加到乙個集合裡 維護每乙個點作為最小權時的樹上路徑的兩個端點,合併時維護即可 將所有點按照權值從大到小排序,對於將當前點和與其相連的所有點依次合 並到乙個集合中。並查集需要維護當前集合...
python玫瑰花數量的含義 玫瑰花數量代表的含義
1朵玫瑰代表 我的心中只有你 only you!2朵玫瑰代表 這世界只有我倆!3朵玫瑰代表 我愛你 i love you!4朵玫瑰代表 至死不渝!5朵玫瑰代表 由衷欣賞!6朵玫瑰代表 互敬 互愛 互諒!7朵玫瑰代表 我偷偷地愛著你!8朵玫瑰代表 感謝你的關懷扶持及鼓勵!9朵玫瑰代表 長久 alway...
python玫瑰花數量的含義 玫瑰花數量多少的含義
一 1朵玫瑰 1朵玫瑰花大多數是在剛剛相戀時贈送,1朵玫瑰花所代表的含義就是一見鐘情,或者是我的心中只有你乙個人。二 11朵玫瑰 11朵玫瑰花是很多人都經常選擇的玫瑰數量,通常是情侶之間表達愛意時送花,11朵玫瑰代表著一生一世,同時也是在向愛人表達 一生相伴,一世相隨 的美好愛情寓意。三 50朵玫瑰...