原创 BZOJ3196 二逼平衡樹(線段樹套線段樹)

題目大意 一種數據結構,維護一個有序數列,其中需要提供以下操作: 1.查詢k在區間內的排名 2.查詢區間內排名爲k的值 3.修改某一位值上的數值 4.查詢k在區間內的前驅(前驅定義爲小於x,且最大的數) 5.查詢k在區間

原创 BZOJ2154 Crash的數字表格

題目大意 給定n,m,求:∑i=1n∑j=1mlcm(i,j) Solution 令p=gcd(i,j),且min{n,m}=n。 ∑i=1n∑j=1mlcm(i,j) =∑p=1n∑i=1⌊np⌋∑j=1⌊mp⌋ijp⋅ε(

原创 POJ3565 Ants

題目大意 有n只螞蟻,要爬到n棵樹上,使每隻螞蟻爬到沒棵樹上,且兩隻螞蟻的路徑不能交叉。問是否存在一種方案,若有,輸出任意一種方案。 Solution 我們可以發現,若兩隻螞蟻的路徑交叉,那麼交換一下這兩隻螞蟻要爬上去的樹,肯定能使總路程

原创 POJ3667 Hotel

題目大意 有n個本來爲空的房間,有兩種操作。 1:找到最左邊連續長爲l的一段,並佔有它們。 2:將l到r區間置爲空。 Solution 我們可以用線段樹維護一段區間內最多連續的空房間數。但只記下這個答案,是無法把兩個區間合併的。而只要

原创 互質對(51nod1439)

題目大意 有n個數字,a[1],a[2],…,a[n]。有一個集合,剛開始集合爲空。然後有一種操作每次向集合中加入一個數字或者刪除一個數字。每次操作給出一個下標x(1 ≤ x ≤ n),如果a[x]已經在集合中,那麼就刪除a[x],否則就

原创 [BZOJ5110]Yazid 的新生舞會

題目大意 有一個長度爲n的序列A,下標從1至n。顯然地,這個序列共有n(n+1)2 個子區間。問有多少個子區間[l,r],對於這個子區間[l,r],如果該子區間內的衆數在該子區間的出現次數嚴格大於r−l+12 (即該子區間長度的一半)。

原创 BZOJ4736 溫暖會指引我們前行

題目大意 給定n個點,要維護三種操作: find id u v t l:在u,v點間連一條編號id,溫度t,長度l的邊(保證溫度互不相同)。 move u v:詢問在u到v的路徑中,溫度從小到大排序後字典序最大的路徑的長度。若不存在路

原创 BZOJ2286 消耗戰

題目大意 有一棵n個點的樹,每條邊有邊權。有m次詢問,每次給定k個關鍵點,問能切斷根(1號點)到所有關鍵點的最小代價是多少? n<=250000,m<=500000,∑k <=500000 Solution 可以發現,每次詢問時只有關鍵

原创 BZOJ3626 LCA

題目大意 給出一個n個節點的有根樹(編號爲0到n-1,根節點爲0)。一個點的深度定義爲這個節點到根的距離+1。 有q次詢問,每次詢問給出l r z,求∑ri=ldeep[LCA(i,z)] 。 Solution 我們可以發現,這個答案是

原创 51nod138夾克老爺的逢三抽一

題目大意 又到了諾德縣的百姓孝敬夾克大老爺的日子,帶着數量不等的銅板的村民準時聚集到了村口。 夾克老爺是一位很”善良”的老爺,爲了體現他的仁慈,有一套特別的收錢的技巧。 1、讓所有的村民排成一隊,然後首尾相接排成一個圈。 2、選擇一

原创 BZOJ2326 數學作業

題目傳送門 Solution 設N的答案爲f(n)。那麼很容易得到一個遞推式:F(n)=F(n−1)∗10k+n ,其中k是n的位數。 所以當k固定時,這個式子的轉移方式也是固定的。所以可以枚舉每個k。而對於每一個k,我們很容易得到一個

原创 51nod1617(codeforces117D)奇偶數組

題目大意 a是一個包含n個元素的數組。對a中的元素進行1-n編號。 定義“偶數組” even, eveni =a2i (1≤2i≤n) ,即“偶數組” even是由數組a中編號爲偶數的元素組成的。 定義“奇數組” odd, oddi