傳送門
每次詢問點的個數是r-l+1, 那麼聯通塊個數就是總點數減去邊的個數
考慮哪些邊有貢獻, 令邊為l,r (l有時靜態區間, 然後就是主席樹
#include#define n 200050
using namespace std;
struct nodet[n*40];
int tot,rt[n];
vectorv[n];
int n,q;
void build(int &x,int l,int r)
void insert(int &x,int last,int l,int r,int pos)
int quary(int a,int b,int l,int r,int l,int r)
int main()
build(rt[0], 1, n);
for(int i=1;i<=n;i++)
} while(q--) return 0;
}
WOJ1319 數制轉換
有一種數制的基數是三,權值可以取 1,0,1,並且分別用符號 0,1表示。這種數值的101便表示十進位制的10,即1 3 2 0 3 1 1 3 0 10,又如這種數制的 0表示十進位制的 3,即 1 3 1 0 3 0 3。要求把給定的有符號整數轉換為新數制的數,該數的前面不能有多餘的0,例如10...
WOJ 10 精英選拔
神仙dp,膜claris 題意 給乙個長度為 n 的數列,求出不超過k次交換後的最大連續子區間和。發現交換後的最優答案一定是這樣的 0和2的長度可以為0 0 1 2 答案是標號為1的區間和。那麼就相當於在原數列中下標在0或2的數字可以放入1中,而原來下標在1的數可以拿出來到0或2。我們設 f 表示現...
woj 1313 K尾數相等
description 從鍵盤輸入乙個自然數k k 1 若存在自然數m和n m n 使得k m和k n均大於或等於1000 且它們的末尾三位數相等,則稱m和n是一對?k尾相等數?請編寫程式,輸出m n值最小的k尾相等數。input 輸入資料有多組,以0結束。output 對於每個輸入,輸出一行。sa...