容斥原理 數論

2021-07-08 10:15:49 字數 949 閱讀 8225

兩個集合的容斥關係公式:a∪b =|a∪b| = |a|+|b| - |a∩b |(∩:重合的部分)

三個集合的容斥關係公式:|a∪b∪c| = |a|+|b|+|c| - |a∩b| - |b∩c| - |c∩a| + |a∩b∩c|

最後可以推廣到n個集合,集合裡的元素為奇數則加,偶數減

hdu 4135

很簡單,直接求出所有的質因子,然後容斥解決

/********************************************

author :crystal

created time :

file name :

********************************************/

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef pairpii;

#define mem(a,b) memset(a,b,sizeof a)

#define clr(a) memset(a,0,sizeof a);

const int inf = 0x3f3f3f3f;

const int mod = 1e9 + 7;

//#define local

std::vectorv;

void gao(int n)

} if(res > 1)v.push_back(res);

}ll cal(ll n)

return 0;

}

POJ 1091 跳蚤 容斥原理 數論

題目大意 中文題意,不多贅述 題目分析 根據題目的意思,其實只需要讓所有數的最大公約數為1就可以滿足條件,好像是用到了歐幾里得的一些知識,奈何我的數論比較菜,也不會證明,就直接用網上大牛們的結論吧,題目說了第n 1個數已經幫我們選好了,為m,所以我們只需要找出有多少種情況選擇n個與m互質的數就是題目...

容斥原理,反演

大概知道為什麼自己水平比較渣啦。一開始只會反演,然後被容斥驚豔到。然後寫了一段時間容斥,反演忘光光。所以融會貫通真的很難。多校的三道題,當時是用反演做的。事實上以前就知道容斥跟莫比烏斯函式值的關係,然後熟練掌握 然後一段時間沒用就忘了哈。簡單來說就是,求乙個數和乙個集合中的數互質的個數,把集合中乙個...

關於容斥原理

容斥原理大概是這樣的,以長方體體積並為例,我們需要用容斥原理容斥出若干個長方體體積的並.首先,我們將每個長方體標號為1 n,那麼這些長方體的取捨顯然可以表示為乙個二進位制的數字s.設f s 表示長方體取捨狀態為s時,長方體的體積並,於是我們可以知道f 111111 有n個1 就是我們最終的所求.好,...