容斥原理
|aubuc| = |a| + |b| + |c| - |a∩b| - |a∩c| - |b∩c| + |a∩b∩c|
|a|表示集合a中元素的個數
推廣:
例題:能被整除的數
給定乙個整數n和m個不同的質數p1,p2,…,pm。
請你求出1~ n中能被p1,p2,…,pm中的至少乙個數整除的整數有多少個。
輸入格式
第一行包含整數n和m。
第二行包含m個質數。
輸出格式
輸出乙個整數,表示滿足條件的整數的個數。
資料範圍
1≤m≤16,
1≤n,pi≤109
輸入樣例:
10 2
2 3輸出樣例:
7
#include
#include
using
namespace std;
typedef
long
long ll;
const
int n =20;
int p[n]
;// 儲存題目中給定的質數
intmain()
t *= p[j]
; cnt ++;}
if(t !=-1
)}cout << res << endl;
return0;
}
演算法思路:1~ n中含有p的倍數的個數是[n/p],所以把n/pi看|si|,題目要求的即|s1+s2+ …+sm|,利用容斥原理求 ch3 數學 容斥原理
1.自然語言描述 在概率論課程中,容斥原理作為定理出現過 以最簡單的情況舉例 兩個事件a,b,a b a b a b 三個事件a,b,c,a b c a b c a b a c b c a b c 推廣到任意多個事件 容斥原理可以不重複 不遺漏地得到計算結果。2.描述 include include...
HDU 2204(容斥原理 數學)
2015 05 14 19 35 28 題目 每次給出乙個n n 10 18 讓你求出1 n中能表示成m k的數的個數。思路 比較明顯可以用容斥解的題目.但是要注意細節。首先,觀察 k 的最大值,2 60 10 18,所以 k 60,所以我們可以列舉一下 k 的值。對於每個 k,直接計算出最大可能的...
容斥原理 數論
兩個集合的容斥關係公式 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 ...