bzoj4415 Shoi2013 發牌 線段樹

2021-08-15 08:43:17 字數 647 閱讀 2271

相當於找區間第k個數,同時支援刪點

這個題的線段樹操作和noid1t1有點像。所以調了半天。

注意對size取模,注意查詢區間第k的時候的特判

碼:#include#includeusing namespace std;

#define zuo o<<1,l,mid

#define you o<<1|1,mid+1,r

#define n 700005

int sz[n<<4],n,o,a,b,c,zz,op,i;

bool ky;

void up(int o)

void jian(int o,int l,int r)

int mid=(l+r)>>1;

jian(zuo);

jian(you);

up(o);

}void gai(int o,int l,int r)

if(a<=mid)gai(zuo);

if(b>mid)gai(you);

up(o);

}void cha(int o,int l,int r)

int main()

o++;

//找位置

op=1;a=zz;b=n;c=0;gai(1,1,n);

if(c

Bzoj3562 神器化合物 Shoi 2014

ac通道 分析 若把每乙個原子看作乙個節點,將化學鍵看作一條邊,那麼這個題目要求的 分子的個數 很容易就可以看出是求圖中聯通塊的個數。求聯通塊的個數,可以使用並查集。可如何求出每一步的聯通塊的個數呢?可以知道,當連上一條邊時,若此邊連線的是兩個不同的聯通塊,那麼分子個數就會減一 當刪去一條邊時,若刪...

bzoj4415 樹狀陣列 發牌

description 假設一開始,荷官拿出了一副新牌,這副牌有n張不同的牌,編號依次為1到n。由於是新牌,所以牌是按照順序排好的,從牌庫頂開始,依次為1,2,直到n,n號牌在牌庫底。為了發完所有的牌,荷官會進行n次發牌操作,在第i次發牌之前,他會連續進行r i次銷牌操作,r i由輸入給定。請問最後...

BZOJ 3566 SHOI2014 概率充電器

題目 題意 給定樹形結構的n個元件,每個元件有一定概率自己充電,還有一定概率通過某條邊給其他元件充電,求充電的元件期望個數。n 500000 題解 樹形結構肯定能想到樹形dp,全樹對某點產生的貢獻一般可以通過一到兩遍樹形dp計算得出,本題所求期望等於每個元件被充電的概率之和。設f i 表示i被充電的...