JZOJ 雜題選講 Bitset Master

2021-10-04 15:50:52 字數 624 閱讀 8521

換個問題,求每個集合最後的大小。我們發現,如果將 u,v 合併,那麼 f[u]=f[v]=f[u]+f[v]−f[u]⋂f[v]

而 f[u]⋂f[v] 之和上一次 u,v 合併的結果有關,於是我們可以對每條邊單獨記錄乙個數,表示上一次合併這條邊的結果

回到原問題,我們發現,每個點被哪些集合包含,只需要倒敘處理新問題就可以得到原問題的答案

#include

using

namespace std;

const

int n=

1e6+77;

int n,m,p[n]

,x[n]

,y[n]

,f[n]

,g[n]

;void

write

(int x,

int flag)

intmain()

for(

int i=

1; i<=n; i++

)write

(f[i]

,i==n)

;}

JZOJ 雜題選講 友誼

description flowey 是一朵能夠通過友誼顆粒傳播love 的小花 它的友誼顆粒分為兩種,圓粒的和皺粒的,它們依次排列組成了乙個長度為2m 的序列 對於乙個友誼顆 粒的序列,如果存在1 iinput 從friend.in 讀入資料 為一行三個正整數,n,m,p output 輸出到fr...

JZOJ 雜題選講 51nod1790

有乙個初始為0的計數器n,每次有兩種操作 n 1 把n不含前導0的二進位制接到字串s的末尾 目標是把s變成給出的字串x 求方案數和最小步數 x 5000 設f i j 表示放到x的第i位,n為 j,i 的方案,最小值同理 每次列舉上乙個位置轉移,這樣是o x 3 並且不好判斷二進位制數的大小 按x的...

2019 2 28 雜題選講

考慮將1至n m分別填入乙個擁有n行m列的 中,不允許重複。你需要滿足以下要求 第i行 1 i n 的最大值為ai。第j列 1 j m 的最大值為bj。請求出合法的填數方案數在模109 7意義下的值。1 n,m 1000 1 ai,bj n m 思路分步 填數 問題符合乘法原理,考慮從大到小填數,先...