分類計數原理與分步計數原理 計數問題之容斥原理

2021-10-14 09:20:56 字數 1087 閱讀 3908

今天來聊聊計數問題中的容斥原理。

我們知道加乘原理,「加乘」中的「加」其實是分類思想的體現,這種分類是基於乙個前提,就是你的是你的,我的是我的,每個分類都分的清清楚楚,彼此無交叉。而今天要聊的容斥原理與此不同,容斥是你中有我,我中又有你。容指包含、斥指排除,大概是這個意思吧!

容斥的問題可以利用文氏圖(又叫韋恩圖)來解決,文氏圖大概像下面的樣子。一般分兩類或三類,超過三類基本就很難用圖來表達啦,不過可以用代數式找找規律,比如a∪b∪c∪d=?

在畫文氏圖的過程中,要注意:

弄清每部分內容表示的含義

在熟練掌握文氏圖的情況下,嘗試用三個或四個圓圈的文氏**決極複雜的包含與排除問題。

利用文氏圖靈活處理具有一些不確定性的計數問題,以及其他形式的重複計數問題。

好啦。我們的概念學完了,那麼就練習一下吧。

簡單的容斥:

例1:一次考試共有兩題,第一題做對有20人,其中5人第二題錯了,第二題總共30人做對,有3人一道題都沒做對,請問一共有多少人報名參加?

複雜一點的容斥:

例2:五年級一班共有46名同學參加語數英三科小組活動,其中24人參加了數學小組,20人參加了語文小組,參加英語小組的人數是即參加數學小組又參加英語小組的3.5倍,還是三項小組都參加的人數的7倍。既參加數學小組又參加語文小組的有10人,即參加英語又參加語文小組的人數是都參加的人數的2倍,求參加英語小組的人數。

容斥最值型:

例3:某班共有50名同學,參加語文競賽的有28人,參加數學競賽的有22人,參加英語競賽的有20人,如果每人最多參加兩科競賽,那麼該班未參加競賽的人數最多可能有多少?

例4:甲、乙、丙、丁四人給100盆花澆水,甲澆30盆,乙澆75盆,丙澆80盆,丁澆90盆,恰好被3個人澆過的花最少有多少盆?

Python 分類計數

提出問題 輸入乙個字串,請輸出這個字串包含多少個大寫字母,多少個小寫字母,多少個數字。要求輸入一行包含乙個字串,輸出三行,每行乙個整數,分別表示大寫字母 小寫字母和數字的個數。問題描述 示例 輸入 1 a aab 輸出 1 31演算法描述 我們需要思考如何將大小寫字母與數字分別計數,在此可利用asc...

物件引用 計數 原理

includeusing namespace std 主要思想,cptrint相當於管理int 的智慧型指標,能控制複製中記憶體懸掛等問題。該物件內部有乙個cptrcount類,該類負責記錄拷貝的次數,儲存共享記憶體的指標。該類的拷貝構造負責,拷貝複製其資料 引用次數 共享記憶體指標。不負責處理引用...

組合數學 計數原理

計數原理 抽屜原理 有n個抽屜,n 1個蘋果,那麼至少有乙個抽屜有兩個或兩個以上的蘋果。有n個抽屜,n 1個蘋果,那麼至少有乙個抽屜沒有蘋果。加法原理 如果a類物品有a個,b類物品有b個,那麼a類物品或b類物品共有a b個 沒有性質相同的情況下 乘法原理 如果a有a中發生方式,b有b中發生方式,那麼...